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

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

Показать ответ
Ответ:
ivabogdan
ivabogdan
24.07.2020 14:03
Program primer;
procedure random(c,x,y:integer; var r:integer);
    begin
        case c of
                1 : r:=Random(ABS(Y)+ABS(x)+1)+x;
                2 : r:=Random(ABS(Y)+ABS(x)+1)+y;
                3 : r:=Random(Y-x+1)+x;
                4 : r:=Random(x-y+1)+y;
                5 : r:=Random(x+y);
                6 : r:=Random(ABS(x+y))-ABS(x+y);
                7 : r:=x;
                8 : r:=Random(ABS(ABS(x)-ABS(y)))-ABS(x);
                9 : r:=Random(ABS(ABS(x)-ABS(y)))-ABS(y);
        end;
   end;
var
  a,b: array of array of integer;
  i,j,x,y,c,m,p,sum:integer;  begin
Randomize;
sum:=0;
writeln('Кол-во строк и столбцов массива? //X,Y\\  ');
read(i,j); //Размерность массива
writeln('Диапазон чисел //от X,до Y\\ '); 
read(x,y); //и диапазон генерации вводятся с клавиатуры.
if (x=y) then
c:=7
else
if(x<0) and (y<0) then 
if (x<y) then 
c:=8
else
c:=9
else
if (x=0) or (y=0) then 
if(x<0) or (y<0) then 
c:=6
else
c:=5
else
if(x<0) or (y<0) then 
if (x<y) then 
c:=1
else 
c:=2
else
if (x<y) then 
c:=3
else 
c:=4;
SetLength(a,i);
for  m:=0 to i-1 do
  SetLength(a[m],j);
  SetLength(b,i);
  for  m:=0 to i-1 do
  SetLength(b[m],j);    
for  m:=0 to i-1 do begin  
writeln();
     for  p:=0 to j-1 do   begin                     
     random(c,x,y,a[m,p]);    {Заполнить двумерный массив случайными числами.}         
 sum:=sum+a[m,p];  {вычисляет сумму всех элементов массива}
          write (a[m,p]:3,' ':3);
           end; 
         end;  
        c:=0;   
        writeln('summa=',sum);  
 for  m:=0 to i-1 do begin {Затем организовать новый массив В  }
writeln();
     for  p:=0 to j-1 do  begin            
 if (a[m,p] <0) then          begin  
       b[m,p]:=1; {в котором заменить отрицательные элементы исходного массива на 1}        inc(c);  {Подсчитать количество замен.   }
   end       
   else         
  b[m,p]:=a[m,p]; {а значения остальных элементов оставить без изменения }
   write(b[m, p]:3, ' ':3);      
  end;         
 end;         
 writeln('kol=',c);        
  a:=NIL;          
b:=NIL;     
end.
// ABC Pascal
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота