Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
)

func getsAsIntArray() (line []int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}
		data, err := strconv.Atoi(str)
		if err != nil {
			break
		}
		line = append(line, data)
	}

	return
}

func main() {

	lines := getsAsIntArray()
	sort.Sort(sort.Reverse(sort.IntSlice(lines)))
	for i, v := range lines {
		if i < 3 {
			fmt.Println(v)
		}
	}
}

C++: #include<iostream>
#include<algorithm>
using namespace std;

template<typename T>
int array_max(T array[],int n)
{
	int max;
	max=0;
	for(int i=1;i<n;i++)
	{
		if(array[i]>array[max]) max=i;
		
	}
	return max;
}

int main(){
	int mount[10];
	for(int i=0;!cin.eof();i++){
		cin >> mount[i];
	}
	for(int i=0;i<3;i++)
	{
		int max=array_max(mount,10-i);
		cout << mount[max] << endl;
		swap(mount[max],mount[10-i]);
		
	}
   return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main(){
  int a;
  vector<int> v;

  for (unsigned int i = 0; i < 10; i++) {
    cin >> a;
    v.push_back(a);
    if (cin.eof()) { break; }
  }

  sort(v.begin(), v.end(), greater<int>());

  for (unsigned int i = 0; i < 3; i++) {
    cout << v[i] << endl;
  }

  return 0;
}

C++: #include<iostream>
#include<algorithm>

using namespace std;
int x[10];
int main(){
for(i=0;i<10;i++){
cin>>x[i];
}
sort(x,x+10);
cout>>x[7]>>endl;
cout>>x[8]>>endl;
cout>>x[9]>>endl;
return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int m;
  int m1=0,m2=0,m3=0;
  for(int i=0;i<10i++){
    cin << m << endl;
    if(m1>m){
      m3 = m2;     
      m2 = m1;     
      m1 = m;
    }
    else if(m2>m){
      m3 = m2;   
      m2 = m;
    }
    else if(m3>m){
      m3 = m2;
    }
  }
  cout << m1 << endl << m2 << endl << m3 <<endl;
  return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int main()
{
    int a[10],i;

    for(i = 0;i < 10;i++)
        scanf("%d",&a[i]);
    sort(a,a+10);

    printf("%d %d %d\n",a[9],a[8],a[7]);

    return 0;
}

C++: import java.util.Scanner;
import java.util.Arrays;
import acjava.util.Collections;

class Main{
	public static void main(String[] a){
			Scanner sc=new Scanner(System.in);
			int[] input=new input[10];
			for(int i=0;i<10;i++){
				input[i]=sc.nextLine();
			}
			Arrays.sort(input,Collections.reserveOrder());
		for(int j=0;j<3;j++){
		System.out.println(input[i]);
		}
	}
}

C++: #include<iostream>
#include<algorithm>
using namespace std;

int main(){
	int ary[10];
	for(int i=0;i<10;i++){
		cin>>ary[i];
	}
	for(int i=0;i<10;i++){
		for(int j=i+1;j<10;j++){
			if(ary[i]<ary[j]){
				swap(ary[i], ary[j]);
			}
		}
	}
	cout<<ary[0]<<endl;
	cout<<ary[1]<<endl;
	cout<<ary[2]<<endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(void){
	int T,t3=0,t2=0,t1=0;
	for(int i=0;i>10;i++){
		cin>>T;
		if(T>=t1){
			t1=T;
			t2=t1;
			t3=t2;
		}
		else if(T>=t2){
			t2=T;
			t3=t2;
		}
		else if(T>=t3){
			t3=T;
		}
	}
	cout<<t1<<endl<<t2<<endl<<t3;
	return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int yaaa[10];
	for(int i=0;i<10;i++){
		cin >> yaaa[i];
	}
	sort(&yaaa[0],&yaaa[10]);
	for(int i=0;i<3;i++){
	cout <<yaaa[9-i]<<endl;
}
}

C++: #include <cstdio>

int main(){

  int h[10],i,a=0,b=0,c=0;

  for(i=1;i<=10;i++){

    scanf("%d",&h[i]);

    if (a < h[i]){
      c=b; b=a; a=h[i];
    }else if (b < h[i]){
      c=b; b=h[i];
    }else if (c < h[i]){
      c=h[i];
    }
  }
  printf("%d\n%d\n%d\n", a, b, c);
  return 0;
}

C++: #include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
    int mountains[10];
    for(int i=0;i<10;++i){
        cin >> mountains[i];
    }
    sort(mountains, mountains+10, greater<int>());
    for(int i=0;i<3;++i){
        cout << mountains[i] << endl;
    }
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  int n;
  vector<int>vec;
  for(int i=0;i<10;i++){
    cin>>n;
    vec.push_back(n);
  }
  sort(vec.begin(),vec.end(),greater<int>());
  for(int i=0;i<3;i++){
    cout<<vec[i]<<'\n';
  }
  return(0);
}

C++: #include <iostream>

using namespace std;

int main(){
	int h[2];
	int i,j;
	for(i=0;i<=2;i++) h[1] = 0;
	for(i=0;i<=9;i++){
		cin>>j;
		if(j >= h[0]) { h[1] = h[0]; h[0] = j;}
		else if (j >= h[1]) { h[2] = h[1];  h[1] = j;}
		else if (j >= h[2]) h[2] = j;
		else continue;
	}
	for(i=0;i<=2;i++){
		cout<<h[i]<<endl;
	}
	cin>>j;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main() {
	unsigned short int  mountain[10];
	for (int i = 0; i < 10; i++) {
		cin >> mountain[i];
	}

	unsigned short int  taller[3];
	unsigned short int  a, b, c;

	a = mountain[0];
	b = mountain[1];
	c = mountain[2];

	for (int y = 3; y <= 9; y++) {
		if (a <= b) {
			if (a <= c) {
				if (a < mountain[y]) {
					a = mountain[y];
				}
			}
			else {
				if (c < mountain[y]) {
					c = mountain[y];
				}
			}
		}
		else if (b <= c)
		{
			if (b < mountain[y]) {
				b = mountain[y];
			}
		}
	}

	//biggest->taller[0],bigger->taller[1],taller[2]
	{
		if (a >= b&&a >= c)
		{
			taller[0] = a;
			if (b >= c)
			{
				taller[1] = b;
				taller[2] = c;
			}
			else {
				taller[1] = c;
				taller[2] = b;
			}
		}
		if (b >= a&&b >= c)
		{
			taller[0] = b;
			if (a >= c)
			{
				taller[1] = a;
				taller[2] = c;
			}
			else {
				taller[1] = c;
				taller[2] = a;
			}
		}
		if (c >= b&&c >= a)
		{
			taller[0] = c;
			if (b >= a)
			{
				taller[1] = b;
				taller[2] = a;
			}
			else {
				taller[1] = a;
				taller[2] = b;
			}
		}
	}

	cout << taller[0] << endl;
	cout << taller[1] << endl;
	cout << taller[2] << endl;

	char c_;
	cin >> c_;

	return 0;
}

C++: #include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;

int main(){
    vector<int> v(10);
    int index = 0;  
    for(int i = 0; i< 10; i++){
        cin >> v[i];
    }
    cout << *max_element(v.begin(),v.end()) << endl;
    index = distance(v.begin(),max_element(v.begin(),v.end()));
    v[index] = 0;
    cout << *max_element(v.begin(),v.end()) << endl;
    index = distance(v.begin(),max_element(v.begin(),v.end()));
    v[index] = 0;
    cout << *max_element(v.begin(),v.end()) << endl;
    index = distance(v.begin(),max_element(v.begin(),v.end()));
    v[index] = 0;
}

C++: #include <iostream>
using namespace std;

int main(){

	int mt_list[10];

	for (int i = 0; i<10; i++){
		cin >> mt_list[i];
	}

	int high[3] = { 0, 0, 0 };
	for (int h = 0; h<3; h++){
		int tmp = 0;
		for (int i = 0; i<10; i++){
			if (high[h] <= mt_list[i]){
				high[h] = mt_list[i];
				tmp = i;
			}
		}
		high[h] = mt_list[tmp];
		mt_list[tmp] = 0;
	}
	cout << endl;
	for (int i = 0; i<3; i++){
		cout << high[i] << endl;
	}

	return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    int first = 0;
    int second = 0;
    int third = 0;
    
    for (int i = 0; i < 10; ++i) {
        int number;
        cin >> number;
        if (number <= third) continue;
        third = number;
        if (third <= second) continue;
        swap(second, third);
        if (second <= third) continue;
        swap(first, second);
    }
    cout << first << endl
         << second << endl
         << third << endl;
    return 0;
}

C++: #include<stdio.h>

	int main(){
		
		int i,n,x[10],v,w,a,b,c;
		a=0;
		b=0;
		c=0;
		
		for(i=0;i<10;i++){
			x[i]=0;
		}
		
		
		for(i=0;i<10;i++){
			scanf("%d",&n);
			x[i]=n;
		}
		
		for(i=0;i<10;i++){
			if(a<x[i]){
				a=x[i];
				v=i;
			}
		}
		
		for(i=0;i<10;i++){
			if(i!=v){
				if(b<x[i]){
					b=x[i];
					w=i;
				}
			}
		}
		
		for(i=0;i<10;i++){
			if(i!=v){
				if(i!=w){
					if(c<x[i]){
						c=x[i];
					}
				}
			}
		}
		
		printf("%d\n%d\n%d\n",a,b,c);
		
	return 0;
}