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

Дан массив а размерностью (m, n). найти произведение положительных элементов расположенных выше диагонали и заменить все нулевые элементы исходного массива на полученное произведение.

Показать ответ
Ответ:
maksikus1
maksikus1
07.08.2020 09:52
//Pascal ABC.NET v3.0 сборка 1111

Var
 ma:array of array of integer;
 n,m,i,j,res:integer;
 b:boolean;
begin
 randomize;
 res:=1;
 b:=false;
 read(m,n);
 setlength(ma,m);
 for i:=0 to m-1 do
  setlength(ma[i],n);
 writeln('First matrix:');
  for i:=0 to m-1 do
   begin
    writeln;
     for j:=0 to n-1 do
      begin
       ma[i,j]:=random(10);
       write(ma[i,j]:5);
      end;
   end;
  if n>m then
   begin
   for i:=0 to m-1 do
    for j:=i+1 to n-1 do
     if ma[i,j]>0 then
      begin;
       res:=res*ma[i,j];
       b:=true;
      end;
   end
    else
    begin
     for i:=0 to n-1 do
      for j:=i+1 to n-1 do
       if ma[i,j]>0 then 
       begin;
         res:=res*ma[i,j];
         b:=true;
        end;
    end;
  if b=false then res:=0;
  writeln;
  writeln('Final array:');
   for i:=0 to m-1 do
    begin
     writeln;
      for j:=0 to n-1 do
       begin
        if ma[i,j]=0 then ma[i,j]:=res;
        write(ma[i,j]:5);
       end;
    end;
  writeln;
  writeln('res=',res);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота