Go: package main

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

var (
	n  = 10
	sc = bufio.NewScanner(os.Stdin)
)

func main() {
	heights := make([]int, n, n)
	for i := 0; i < n; i++ {
		sc.Scan()
		heights[i], _ = strconv.Atoi(sc.Text())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(heights)))

	for i := 0; i < 3; i++ {
		fmt.Println(heights[i])
	}
}

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

#define FOR(i,a,b) for(long long int i=(a);i<(b);i++)
#define REP(i,n) for(long long int i=0;i<(n);i++)
#define ALL(s) (s).begin(),(s).end()

#define PI 3.14159265358479

typedef long long int ll;
typedef vector<long long int> vi;

int main(){
	vi v;
	ll m;
	REP(i, 10){
		cin >> m;
		v.push_back(m);
	}
	sort(ALL(v));
	REP(i, 3){
		cout << v[9-i] << "\n";
	}
	return 0;
}

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

using namespace std;

int main(){
  int nums[10];
  for(int i=0;i<10;i++){
    cin>>nums[i];
  }
  sort(nums,nums+10,greater<int>());
  for(int i=0;i<3;i++)
    cout<<nums[i]<<endl;
  return 0;
}

C++: #include <iostream>
#include <stdlib.h>

using namespace std;

int compare_int(const void *a, const void *b)
{return *(int*)b - *(int*)a;}

int main(){

	int data[11];
	int i;

	for (i = 0; i < 10; i++) cin >> data[i];
	qsort(data, 10, sizeof(int), compare_int);
	for (i = 0; i < 3; i++) {
		cout << data[i] << endl;
	}
	cin >> i;
}

C++: #include <iostream>
int main(){
	int a[10],i,j,n;
	for(i=0;i<10;++i){
		std::cin>>a[i];
		}
   		for(i=0;i<9;++i){
      		for(j=i+1;j<10;++j){
      			if(a[i]<a[j]){
      				n=a[i];
       				a[i]=a[j];
      				a[j]=n;
       			} 
       		}
       }
       for(i=0;i<3;++i){
       std::cout<<a[i]<<std::endl;
       			}
		
		return 0;
}

C++: #include<stdio.h>
int main(){
	int i, j;
	int buff;
	int m[10];
	for (i = 0; i < 10; i++) {
		scanf("%d", &m[i]);
	}
	for (i = 0; i < 3; i++) {
		buff = m[i];
		for (j = i+1; j < 10; j++) {
			if (m[i] < m[j]) {
				buff = m[i];
				m[i] = m[j];
				m[j] = buff;
			}
		}
	}
	for (i = 0; i < 3; i++) {
		printf("%d\n", m[i]);
	}
	return 0;
}

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

int main(){
    vecctor<int> v;
    int num;
    for(int i = 0;i<10;i++){
        cin>>num;
        v.push_back(num);
    }

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


    for(int i = 0;i<3;i++)
        cout<<v.at(i);
    return 0;
}

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

int main() {
    std::set<int> s = {1819
,2003
,876
,2840
,1723
,1673
,3776
,2848
,1592
,922};
    auto itr = s.end();
    --itr;
    std::cout << *itr << std::endl;
    --itr;
    std::cout << *itr << std::endl;
    --itr;
    std::cout << *itr << std::endl;
    return 0;
}

C++: #include<stdio.h>
nit mian(void)
{
	int i,j,n[11]
	for(i=0;i<10;i++){
		scanf("%d",n[i]);
	}
	for(i=0;i<10;i++){
		for(j=0;j<=10;j++){
			if(n[j]<=n[i]){
				w=n[i];
				n[i]=n[j];
				n[j]=w;
			}
		}
	}
	for(i=0;i<3;i++){
		printf("%d\n",y[i]);
	}
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <algorithm>

using namespace std;

void inputData(vector<string>& data_set) {
	string buffer;
	while(getline(std::cin,buffer))
		data_set.push_back(buffer);
}

template <class T>
T convertStringToNumber(const string& str) {
	stringstream ss;
	T ret;

	ss << str;
	ss >> ret;

	return ret;
}


void doAllProcess() {
	vector<string> buffer;
	vector<int> data_set;

	inputData(buffer);

	data_set.resize(buffer.size());
	for(int i = 0; i < buffer.size(); ++i)
		data_set[i] = convertStringToNumber<int>(buffer[i]);

	sort(data_set.begin(), data_set.end(), [](int n1, int n2){ return n1>=n2; });

	std::cout << data_set[0] << std::endl;
	std::cout << data_set[1] << std::endl;
	std::cout << data_set[2] << std::endl;
}


int main() {
	doAllProcess();

	return 0;
}

C++: arr = []
for cnt in 0...10
  arr.push(gets.chomp.to_i())
end

arr.sort!.reverse!

for cnt in 0...3
  puts(arr[cnt])
end

C++: #include<stdio.h>

int main(){
    int i;
    int input;
    int height[10];
    for (i = 0; i < 10; i++){
        scanf("%d", &input);
        height[i] = input;
    }

    for (i = 0; i < 10; i++)
        printf("%d\n", height[i]);

    int max1 = 0;
    for(i = 0; i < 10; i++)
        if (height[i] >= max1)
            max1 = height[i];

    int max2 = 0;
    for(i = 0; i < 10; i++)
        if (max1 >= height[i] >= max2)
            max2 = height[i];

    int max3 = 0;
    for(i = 0; i < 10; i++){
        if (max2 >= height[i] >= max3)
            max3 = height[i];
    }

    printf("%d\n", max1);
    printf("%d\n", max2);
    printf("%d\n", max3);

    return 0;
}

C++: #include <iostream>

int main() {
	
	int first, second, third;
	first = second = third = 0;
	
	for(int i=0; i<10; i++) {
		int t;
		std::cin >> t;
		
		if(first < t) {
			third = second;
			second = first;
			first = t;
		} else if(second < t) {
			third = second;
			second = t;
		} else if(third < t) {
			third = t;
		}
	}
	std::cout << first << std::endl;
	std::cout << second << std::endl;
	std::cout << third << std::endl;
	
	return 0;
}

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

int main()
{
    std::set<int, std::greater<int>> s;
    for (int i = 0; i < 10; ++i) {
        int h;
        std::cin >> h;
        s.insert(h);
    }
    std::set<int, std::greater<int>>::iterator it = s.begin();
    for (int i = 0; i < 3; ++i)
        std::cout << *it++ << std::endl;
}

C++: #include <stdio.h> 
using namespace std; 
int main(){ 
int count[10001],
tmp,num=3; 
for(int i=0;i<10001;i++)
count[i]=0;
 for(int i=0;i<10;i++){ 
scanf("%d",&tmp);
 count[tmp]++; } 
for(int i=10000;i>=0&&num>0;i--){
 if(count[i]>0){ 
for(int k=0;k<count[i]&&num>0;k++){
 printf("%d\n",i);
 num--;
 } 
} 
} 
return 0; }

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

using namespace std;

int main() {
	int height[10];

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

	sort(height, height + 10);

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

	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){

    int m[10], temp;
    for(int i = 0; i < 10; i++)
        cin >> m[i];

    for(int i = 0; i < 4; i++){
        for(int j = i + 1; j < 10; j++){
            if(m[i] < m[j]){
                temp = m[i];
                m[i] = m[j];
                m[j] = temp;
            }
        }
    cout << m[i] << endl;
    }
}

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

const int HILLS = 10;

void repMinOfThree(int hill[], int height)
{
    int *hillTmp = 0;
    if (height > hill[0] || height > hill[1] || height > hill[2])
    {
        hillTmp = (hill[0] < hill[1] ? hill : hill + 1);
        hillTmp = (hill[2] < *hillTmp ? hill+2 : hillTmp);
        *hillTmp = height;
    }
}

int cmp (const void *a, const void *b)
{
    return (*(int*)a - *(int*)b);
}


int main()
{
    int hill[3] = {0};
    int i = 0;
    int mountainHeight = 0;

    while (i < HILLS)
    {
        cin >> mountainHeight;
        repMinOfThree (hill, mountainHeight);
        i++;
    }

    qsort (hill, 3, sizeof(hill[0]), cmp);

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

  //  system("pause");
    return 0;
}

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

int main(){
  int tall[10],no1=0,no2=0,no3=0,i=0;
  for(i=0;i<=9;i++){
    cin>>tall[i];
  }
  for(i=0;i<=9;i++){
    if(tall[i]>=no1){
      no3=no2;
      no2=no1;
      no1=tall[i];
    }
    if(tall[i]>=no2&&tall[i]<no1){
      no3=no2;
      no2=tall[i];
    }
    if(tall[i]>=no3&&tall[i]<no2){
      no3=tall[i];
    }
  }
  cout<<endl<<no1<<endl<<no2<<endl<<no3<<endl;

  return 0;
}