Предмет: Информатика,
автор: Diim
1. Сгенерировать массив 8х14, вывести на экран. Из чётных элементов этого массива, больших среднего арифметического нечётных элементов сформировать линейный массив, Вывести его на экран.
2. Сгенерировать массив 10х10, вывести на экран, найти сумму каждой строки. Упорядочить строки в порядке возрастания суммы строки. Результирующий массив вывести на экран.
Ответы
Автор ответа:
0
1.
var
A:array[0..7,0..13] of integer;
B:array[0..255] of integer;
i,j,k:byte;
s:integer;
SR:real;
begin
randomize;
s:=0;
k:=0;
for i:=0 to 7 do
begin
for j:=0 to 13 do
begin
A[i,j]:=random(20);
write(A[i,j]:4);
if A[i,j] mod 2<>0
then
begin
S:=S+A[i,j];
k:=k+1;
end;
end;
writeln;
end;
SR:=S/k;
k:=0;
writeln;
for i:=0 to 7 do
for j:=0 to 13 do
if (A[i,j] mod 2=0) and (A[i,j]>SR)
then
begin
k:=k+1;
B[k]:=A[i,j];
write(b[k]:4);
end;
end.
2.
var
A:array[0..9,0..9] of integer;
B:array[0..255,0..1] of integer;
i,j,k:byte;
s,ss,MIN:integer;
FLAG:boolean;
begin
randomize;
s:=0;
k:=0;
for i:=0 to 9 do
begin
for j:=0 to 9 do
begin
A[i,j]:=random(20);
write(A[i,j]:4);
B[i,0]:=A[i,j]+B[i,0];
B[i,1]:=i;
end;
writeln;
end;
writeln;
FLAG:=false;
MIN:=10*20+1;
for i:=0 to 9 do
begin
for j:=i to 9 do
if MIN>B[j,0]
then
begin
Min:=B[j,0];
k:=j;
FLAG:=true;
end;
if FLAG
then
begin
S:=B[i,0]; //замена
SS:=B[i,1];
B[i,0]:=B[k,0];
B[i,1]:=B[k,1];
B[k,0]:=S;
B[k,1]:=SS;
FLAG:=false;
MIN:=10*20+1;
end;
end;
for i:=0 to 9 do
begin
writeln;
for j:=0 to 9 do
write(A[B[i,1],j]:4);
end;
end.
var
A:array[0..7,0..13] of integer;
B:array[0..255] of integer;
i,j,k:byte;
s:integer;
SR:real;
begin
randomize;
s:=0;
k:=0;
for i:=0 to 7 do
begin
for j:=0 to 13 do
begin
A[i,j]:=random(20);
write(A[i,j]:4);
if A[i,j] mod 2<>0
then
begin
S:=S+A[i,j];
k:=k+1;
end;
end;
writeln;
end;
SR:=S/k;
k:=0;
writeln;
for i:=0 to 7 do
for j:=0 to 13 do
if (A[i,j] mod 2=0) and (A[i,j]>SR)
then
begin
k:=k+1;
B[k]:=A[i,j];
write(b[k]:4);
end;
end.
2.
var
A:array[0..9,0..9] of integer;
B:array[0..255,0..1] of integer;
i,j,k:byte;
s,ss,MIN:integer;
FLAG:boolean;
begin
randomize;
s:=0;
k:=0;
for i:=0 to 9 do
begin
for j:=0 to 9 do
begin
A[i,j]:=random(20);
write(A[i,j]:4);
B[i,0]:=A[i,j]+B[i,0];
B[i,1]:=i;
end;
writeln;
end;
writeln;
FLAG:=false;
MIN:=10*20+1;
for i:=0 to 9 do
begin
for j:=i to 9 do
if MIN>B[j,0]
then
begin
Min:=B[j,0];
k:=j;
FLAG:=true;
end;
if FLAG
then
begin
S:=B[i,0]; //замена
SS:=B[i,1];
B[i,0]:=B[k,0];
B[i,1]:=B[k,1];
B[k,0]:=S;
B[k,1]:=SS;
FLAG:=false;
MIN:=10*20+1;
end;
end;
for i:=0 to 9 do
begin
writeln;
for j:=0 to 9 do
write(A[B[i,1],j]:4);
end;
end.
Похожие вопросы
Предмет: Английский язык,
автор: destrrroooyer
Предмет: Математика,
автор: Mixapixatop1
Предмет: Математика,
автор: azarbolatkyzy00
Предмет: География,
автор: Смоль
Предмет: Экономика,
автор: Amelka05