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

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

Показать ответ
Ответ:
миллер6
миллер6
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-бота