Есть ответ 👍

Язык программирования паскаль abc! в матрице имеется столбец, в котором разность между максимальным элементом и средним арифметическим больше первого элемента. найти этот столбец, и заменить его элементы на единицу.

211
326
Посмотреть ответы 2

Ответы на вопрос:

A1mSh1k
4,4(72 оценок)

Const   nm = 50;   nn = 50; type   mas=array[1..nm,1..nn] of integer; procedure matrixinit(var a: mas; m,n,p,q: integer); { заполнение массива размером m*n   целыми случайными числами из интервала [p; q] } var   i,j,k: integer; begin   k: =q-p+1;   for i: =1 to m do       for j: =1 to n do a[i,j]: =random(k)-p end; procedure matrixoutput(var a: mas; m,n,k: integer); { вывод элементов матрицы размера m*n в k позициях } var   i,j: integer; begin   for i: =1 to m do   begin for j: =1 to n do write(a[i,j]: k); writeln end end; function isfits(var a: mas; m,col: integer): boolean; { функция возвращает true, если колонка col явдяется "подходящей" } var   i,max: integer;   mv: real; begin   max: =a[1,col]; mv: =max;   for i: =2 to m do   begin       mv: =mv+a[i,col];       if max< a[i,col] then max: =a[i,col]   end;   mv: =mv/m;   isfits: =(max-mv> a[1,col]) end; procedure columnreplace(var a: mas; m,col: integer); { замена элементов столбца col единицами } var   i: integer; begin   for i: =1 to m do a[i,col]: =1 end; var   p: mas;   a,b,m,n,j,k: integer;   flag: boolean; begin   randomize;   write('введите количество строк и столбцов матрицы: ');   read(m,n);   write('укажите минимальное и максимальной значение элементов: ');   read(a,b);   write('укажите количество позиций для вывода значения элемента: ');   read(k);   matrixinit(p,m,n,a,b);   writeln('исходный массив');   matrixoutput(p,m,n,k);   j: =1;   repeat       flag: =isfits(p,m,j);       if flag then       begin           columnreplace(p,m,j);           writeln('результирующий массив');           matrixoutput(p,m,n,k)       end       else inc(j)   until flag or (j> n);   if not flag then       writeln('') end. тестовое решение: введите количество строк и столбцов матрицы: 5 8 укажите минимальное и максимальной значение элементов: 0 20 укажите количество позиций для вывода значения элемента: 3 исходный массив   19  7  2 15  2 11  2 15   12 16  8 14  6  8  1 17   12 14 10  8  7 19  7  1   0  9  0  7 18 10  2  5   18  8  4  9 16 10 14 10 результирующий массив   19  7  1 15  2 11  2 15   12 16  1 14  6  8  1 17   12 14  1  8  7 19  7  1   0  9  1  7 18 10  2  5   18  8  1  9 16 10 14 10

x=float(input('Ввести число:'))

if x<0:print('-')

elif x==0:print('0')

else: print('+')

А в твоей программе ошибка. После else не пишутся условия (if), а только результат. Можно было написать elif

Популярно: Информатика