Предмет: Информатика, автор: Diim

1. Сгенерировать массив 8х14, вывести на экран. Из чётных элементов этого массива, больших среднего арифметического нечётных элементов сформировать линейный массив, Вывести его на экран.
2. Сгенерировать массив 10х10, вывести на экран, найти сумму каждой строки. Упорядочить строки в порядке возрастания суммы строки. Результирующий массив вывести на экран.

Ответы

Автор ответа: PatifonKakao
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.
Похожие вопросы
Предмет: Математика, автор: Mixapixatop1