Program RANETKI_ZNANIJA;const n=5;m=6; //размерность 5 на 6 (5 строк 6 столбцов)var a:array[1..n,1..m]of integer; //объявляешь двумерный массив 5 на 6 i,j,max:integer; //i и j - счетчики, max - максимальное числоbeginwriteln('Матрица:');for i:=1 to n do //цикл с вложенным циклом для заполнения массива случайными числами begin for j:=1 to m do begin a[i,j]:=random(50); //заполняешь элементы массива числами от 0 до 50 write(a[i,j]:4); // :4 означает четыре пробела между числами end; writeln; //переход на новую строку end;writeln; //окончательный переход на новую строку{макс в строках}for i:=1 to n do begin max:=a[i,1]; //присваиваешь переменной max значение элемента i-тая строка, первый столбец for j:=1 to m do begin if a[i,j]>max then max:=a[i,j]; //сравниваешь каждый элемент массива с числом max //если элемента массива больше чем max, то присваиваешь max этот элемент end; writeln('В строке ',i,' макс=',max); //выводишь номер строки и значение max end;{макс в столбцах}for j:=1 to m do // ОБРАТИ ВНИМАНИЕ что этот тот же цикл что и предыдущий, то теперь вместо j стоит i, а вместо i стоит j begin max:=a[1,j]; for i:=1 to n do begin if a[i,j]>max then max:=a[i,j]; end; writeln('В столбце ',j,' макс=',max); end;readln;end.
#include <cstring>
#include <vector>
#include <algorithm>
struct StudentData
{
std::string name;
std::string surname;
int math;
int phys;
int comp_science;
};
bool
comp(const StudentData &a, const StudentData &b)
{
int tmp1 = a.math + a.phys + a.comp_science;
int tmp2 = b.math + b.phys + b.comp_science;
return tmp1 > tmp2 ? true : false;
}
int
main(void)
{
int n;
std::cin >> n;
std::vector< StudentData > data(n);
for (int i = 0; i < n; i++) {
std::cin >> data[i].name >> data[i].surname;
std::cin >> data[i].math >> data[i].phys >> data[i].comp_science;
}
std::sort(data.begin(), data.end(), comp);
for (int i = 0; i < n; i++) {
std::cout << data[i].name << " " << data[i].surname << std::endl;
}
return 0;
}