Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextInt() int {
	scanner.Scan()
	i, e := strconv.Atoi(scanner.Text())
	if e != nil {
		panic(e)
	}
	return i
}
func main() {
	heighs := make([]int, 10)
	for i := range heighs {
		heighs[i] = nextInt()
	}
	sort.Sort(sort.Reverse(sort.IntSlice(heighs)))
	for i := 0; i < 3; i++ {
		fmt.Println(heighs[i])
	}
}

C++: #include<iostream>

using namespace std;

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

C++: #include <cstdio>

int main(){
  int a[10],t;
  for(int i = 0 ; i < 10 ; i++){
    scanf("%d",&a[i]);
  }
  for(int i = 0 ; i < 10 ; i++){
    for(int j = 0 ; j + 1 < 10 ; j++){
      if( a[j] < a[j+1] ){
        t = a[j];
        a[j] = a[j+1];
        a[j+1] = t;
      }
    }
  }
  for(int i = 0 ; i < 3 ; i++){
    printf("%d\n",a[i]);
  }
  
  
}

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

using namespace std;

int main(void){
	// int mountains;
	std::vector<int> mountains;
	for (int i = 0; i < 10; i ++) {
		int temp;
		cin >> temp;
		mountains.push_back(temp);
	}

	sort(mountains.begin(),mountains.end(), greater<int>());
	for (int i = 0; i < 3; i ++) {
		cout << mountains.at(i) << endl;
	}

	return 0;
}

C++: #include <stdio.h>

int height[10];

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

void sorting(){
    for(int numb = 0; numb < 9; numb++){
        for(int num = 0; num < 9-numb; num++){
            if(height[num] < height[num+1]){
                int stock = height[num];
                height[num] = height[num+1];
                height[num+1] = stock;
                printf("processing:%d\n", num);
            }
            printf("array[%d]:%d\n, array[%d]:%d\n",num,height[num], num+1, height[num+1]);
        }
    }
}

int main(){
  scan();
  sorting();
  for(int a = 0; a < 3; a++){
    printf("Height%d: %d\n", a, height[a]); 
  }
  return 0;
}

C++: #include<iostream>
 using namespace std;
int main(){
int input[10];
int first;
int second;
int third;
int i=0;
for(;i<10;i++){
cin>>input[i];
if(first<input){first = input[i];}else 
if(second<input){second = input[i];}else 
if(third<input){third = input[i];}
}
cout<<first<<endl;cout<<second<<endl;cout<<third<<endl;
return 0;

}

C++: #include <bits/stdc++.h>
using namespace std;
 
int main(){
	int a[11];
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	sort(a,a+10);
	cout<<a[9]<<endl<<a[8]<<endl<<a[7];
    return 0;
}

C++: #include <iostream>

using namespace std;

void reverse(int *array, int length) {
	int i;
	int j;
	for(i=0;i<length-1;i++){
		for(j=i+1;j<length;j++){
			if(array[i]<array[j]){
				int temp=array[i];
				array[i]=array[j];
				array[j]=temp;
			}
		}
	}
}

int main() {
	int mountain[10];
	for (int i = 0; i < 10; i++) {
		cin >> mountain[i];
	}
	reverse(mountain, 10);
	for (int i = 0; i < 3; i++) {
		cout << mountain[i] << endl;
	}
}

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

int main(){
	int n;
	vector<int> high;
	
	for(int i=0 ; i<10 ; i++){
		cin >> n;
		high.push_back( n );
	}
	
	sort( high.begin() , high.end() );

	for(int i=9 ; i>=7 ; i--){
		cout << high.at( i ) << endl;
	}
}

C++: #include<stdio.h>
int main(){

	int yama[10];
	int a, b,c;
	for (a = 0; a < 10; a++){

		scanf("%d", &yama[a]);

	}
	for (a = 0; a < 9; a++){
        
		for (b = 0; b < 9; b++){

			if (yama[b] < yama[b + 1]){

				c = yama[b];
				yama[b] = yama[b + 1];
				yama[b + 1] = c;
			}

		}

	}

	for (a = 0; a < 3; a++){

		printf("%d\n", yama[a]);

	}

	return 0;
}

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

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

int main() {
  int a[10];
  for (int i = 0; i < 10; i++) {
    cin >> a[i];
  }
  sort(a, a + 10);
  cout << a[9] << "\n" << a[8] << "\n" << a[7] << endl;
  return 0;
}

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


int main(){
	int M[10];
	for(int i=0;i<10;i++){
		cin>>M[i];
	}
	sort(M,M+10);
	for(int i=9;i>6;i--){
		cout<<M[i]<<endl;
	}
	return 0;
}

C++: #include <stdio.h>

int nList[10],nGet,nSave[3];
int main() {
    for (int i=0;i<10;i++){
        scanf("%i",&nGet);
        if (nGet>0&&nGet<10000){
        nList[i]=nGet;
    }}


for (int rf=0;rf<10;rf++ ){
for (int rt=0;rt<10;rt++){
for (int rs=0;rs<10;rs++){
    if (nList[rs]>nSave[0]){nSave[0]=nList[rs];}
    else if (nList[rs]>nSave[1]&&nList[rs]!=nSave[0]){nSave[1]=nList[rs];}
    else if (nList[rs]>nSave[2]&&nList[rs]!=nSave[0]&&nList[rs]!=nSave[1]){nSave[2]=nList[rs];}
    }
    }
    }


printf("%i\n%i\n%i",nSave[0],nSave[1],nSave[2]);
}

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

int main(){

    int h[10];
    int i,j,maxh;
    int max[3];
    
    for(i=0;i<3;i++)max[i]=0;
    
    for(i=0;i<10;i++){
        cin>>h[i];
    }
    
    for(i=0;i<10;i++){
        if(h[i]>max[0]){
            maxh=i;
            max[0]=h[i];
        }
    }
    for(i=maxh;i<10;i++){
        h[i]=h[i+1];
    }
    
    for(i=0;i<9;i++){
        if(h[i]>max[1]){
            maxh=i;
            max[1]=h[i];
        }
    }
    for(i=maxh;i<9;i++){
        h[i]=h[i+1];
    }
    
    for(i=0;i<8;i++){
        if(h[i]>max[2]){
            maxh=i;
            max[2]=h[i];
        }
    }
    for(i=maxh;i<8;i++){
        h[i]=h[i+1];
    }
    for(i=0;i<3;i++){
        cout<<max[i]<<endl;
    }
    
    return 0;
    
}

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

int main()
{
	std::array<int, 10> high;
	for (int i = 0; i < 10; ++i)
		std::cin >> high[i];

	std::sort(high.begin(), high.end());

	for (int i = 9; i > 6;--i)
		std::cout << high[i] << std::endl;
	
	return 0;
}

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

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

  sort(a,a+10,greater<int>());

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

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

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


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

  cout << v.at(0) << endl;
  cout << v.at(1) << endl;
  cout << v.at(2) << endl;

  return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
	// your code goes here
	int a[10];
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	sort(a,a+10);
	cout<<a[9]<<endl;
	cout<<a[8]<<endl;
	cout<<a[7]<<endl;
	return 0;
}

C++: #include "iostream"
using namespace std;
int main(int argc, char const *argv[])
{
	int mtain[10];

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

	for (int i = 0; i < 10; ++i)
	{
		for (int j = i + 1; j < 10; ++j)
		{
			int work = 0;

			if(mtain[i] < mtain[j]){
				work = mtain[i];
				mtain[i] = mtain[j];
				mtain[j] = work;	
			} 
		}
	}

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

	return 0;
}

C++: #include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	
	int n,a;
	vector<int>v;
	
	for(n=0;n<10;n++){
	cin>>a;
	v.push_back(a);
	}

	sort(v.begin(),v.end());
	cout << v[9] << endl << v[8] << endl << v[7] << endl;
	
}