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

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

Показать ответ
Ответ:
zakopirinina
zakopirinina
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-бота