если суть задачи обменивать столбцы в зависимости от значений 3 строки, то вот, что я сварганил:
#include <iostream>
using namespace std;
struct collumn{
int a[3];
};
collumn c[4];
bool comp(collumn c1, collumn c2){
return c1.a[2] > c2.a[2];
}
void print() {
for(int i = 0; i < 3; i ++) {
for (int j = 0; j < 4; j++)
cout << c[j].a[i] << " ";
cout << "\n";
}
cout << "\n";
}
void solve(){
print();
sort(c,c+4,comp);
print();
}
signed main() {
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
cin >> c[j].a[i];
solve();
}
1)
var
a,b,c:real;
begin
readln(a,b);
c:=180-a-b;
if (a>90) or (b>90) or (c>90) then writeln('тупоугольный')
else
if (a=90) or (b=90) or (c=90) then writeln('прямоугольный')
else writeln('остроугольный');
end.
2)
var
v:real;
begin
readln(v);
if v<7.8 then writeln ('ракета упадет на Землю');
if v=7.8 then writeln ('ракета станет спутником Земли');
if (v>7.8) and (v<=16.4) then writeln ('ракета останется в пределах Солнечной системы');
if (v>16.4) then writeln ('ракета покинет пределы Солнечной системы');
end.