Создать двумерный массив целых случайных чисел размерность 7*4 и отсортировать по убыванию последние две строки. вывести на экран исходный и измененный массивы.можно использовать любой метод сортировки
Var ma:array[1..n,1..m] of integer; i,j:integer; begin randomize; writeln('Matrix:'); for i:=1 to n do begin for j:=1 to m do begin ma[i,j]:=random(50); write(ma[i,j]:4); end; writeln; end; for i:=1 to m-1 do for j:=i+1 to m do begin if ma[n,i]<ma[n,j] then swap(ma[n,i],ma[n,j]); if ma[n-1,i]<ma[n-1,j] then swap(ma[n-1,i],ma[n-1,j]); end; writeln('Final matrix:'); for i:=1 to n do begin for j:=1 to m do write(ma[i,j]:4); writeln; end; end.
(Пишу в блокноте, возможны ошибки синтаксиса) Pascal:
var mas:array[1..7,1..4] of integer; i,i2,i3,tmp:integer;
begin for i:=1 to 4 do for i2:=1 to 7 do mas[i,i2]:=random(100); //присвоение рандома массиву
for i:=1 to 4 do begin for i2:=1 to 7 do writeln(inttostr(mas[i,i2])); writeln; end; //Вывод исходного массива
for i3:=3 to 4 do for i:=1 to 7 do for i2:=1 to 6 do if mas[i2+1,i3] >mas[i2,i3] then begin tmp:=mas[i2,i3]; mas[i2,i3]:=mas[i2+1,i3]; mas[i2+1,i3]:=tmp; end; //сортировка последних строк
for i:=1 to 4 do begin for i2:=1 to 7 do writeln(inttostr(mas[i,i2])); writeln; end; //Вывод измененного массива readln;
В шестеричной системе алфавит состоит из цифр 0,1,...5. Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb, где a=1,2,...5, b=0,1,...5. В развернутой записи число имеет вид a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b) При этом по условию (3) можно записать, что k² = 7(36a+b) Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом. Получаем, что 36a+b = 7m² Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36). При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет. При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение! При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет. При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет. Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²
Program lol (input, output); var i, n, d, sd, s4d, kd, kn4d, k4d, kbd:integer; begin writeln ('Введите само число и число d'); read (n, d); writeln ('Делители:'); I:=1; sd:=0; s4d:=0; kd:=0; kn4d:=0; k4d:=0; kbd:=0; while I <=n do begin if n mod I = 0 then begin kd:=kd+1; writeln (I); sd:=sd+I; if I > d then kbd:=kbd+1; if I mod 2 = 0 then begin s4d:=s4d+I; k4d:=k4d+1; end else kn4d:=kn4d+1; end; I:=I+1; end; writeln (' '); writeln ('сумма делителей ', sd); writeln ('сумма четных делителей ', s4d); writeln ('количество делителей ', kd); writeln ('количество нечетных делителей ', kn4d); writeln ('количество четных делителей ', k4d); writeln ('количество делителей болеше d ', kbd); end.
Const
n=7;
m=4;
Var
ma:array[1..n,1..m] of integer;
i,j:integer;
begin
randomize;
writeln('Matrix:');
for i:=1 to n do
begin
for j:=1 to m do
begin
ma[i,j]:=random(50);
write(ma[i,j]:4);
end;
writeln;
end;
for i:=1 to m-1 do
for j:=i+1 to m do
begin
if ma[n,i]<ma[n,j] then swap(ma[n,i],ma[n,j]);
if ma[n-1,i]<ma[n-1,j] then swap(ma[n-1,i],ma[n-1,j]);
end;
writeln('Final matrix:');
for i:=1 to n do
begin
for j:=1 to m do
write(ma[i,j]:4);
writeln;
end;
end.