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

мышка72 мышка72    2   22.06.2019 10:40    0

Ответы
zar26 zar26  17.07.2020 16:52
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика