В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
steep6
steep6
02.02.2023 03:10 •  Информатика

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

Ответ:
Джахаршин8
Джахаршин8
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.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?