Дан двумерный массив a размером n*n. написать программу определения номера столбца с максимальной суммой элементов. дан двумерный массив а размером n*n. в каждой строке изменить значения элементов, стоящих за минимальным элементом этой строки, на 1

austinova578 austinova578    3   21.05.2019 22:00    0

Ответы
umnikummmmmm umnikummmmmm  16.06.2020 21:04

Обе програмки проверены на АВС Паскале. Работают :)

 

Program User6165_1;
const n=10;
var
  a:array[1..n,1..n] of integer;
  stosum:array[1..n] of integer;//массив для хранения сумм столбцов
  i,j,nomer,sum : integer;
begin
  Randomize;
  for i:=1 to n do
    for j:=1 to n do
      a[i,j]:= Random(100); //заполняем массив
  writeln('*** alphaues is thinking... ***');
  for j:=1 to n do
    begin
      sum:=0;  
      for i:=1 to n do
        sum:=sum+a[i,j]; // находим сумму столбца
      stosum[j]:=sum;
    end;
  nomer:=1;
  sum:=stosum[1];
  for j:=1 to n do
    begin
      if sum<stosum[j] then sum:=stosum[j];
      nomer:=j;
    end;
  writeln;
  for i:=1 to n do
    begin
      for j:=1 to n do
        write(a[i,j]:5);//выводим массив
      writeln;
    end;
    writeln('*** столбец с максимальной суммой - ',nomer,'-й');
end.

Program User6165_2;
const n=10;
var
  a:array[1..n,1..n] of integer;
  stosum:array[1..n] of integer;//массив для хранения сумм столбцов
  i,j,nomer,min : integer;
begin
  Randomize;
  for i:=1 to n do
    for j:=1 to n do
      a[i,j]:= Random(100); //заполняем массив
  writeln('*** alphaues is thinking... ***');
  writeln;
  for i:=1 to n do
    begin
      for j:=1 to n do
        write(a[i,j]:5);//выводим массив
      writeln;
    end;
  for i:=1 to n do
    begin
      min:=a[i,1];  
      nomer:=1;
      for j:=1 to n do
        if min>a[i,j] then
        begin
          min:=a[i,j];
          nomer:=j;
        end;
      if nomer<n then
      begin
        a[i,nomer+1]:=1;
        writeln(i,'-я строка: мин. элемент - ',nomer,'-й. Следующий заменён на 1.');
      end
      else
        writeln(i,'-я строка: мин. элемент - ',nomer,'-й. Это последний элемент в строке.');
    end;
end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика