Язык программирования паскаль abc! в матрице имеется столбец, в котором разность между максимальным элементом и средним арифметическим больше первого элемента. найти этот столбец, и заменить его элементы на единицу.
283
499
Ответы на вопрос:
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
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Эндирионэля29.02.2020 12:27
-
iuhagng16.12.2021 07:51
-
чек1420.07.2020 05:13
-
dogs224731.12.2021 02:23
-
bvoznyk6917.08.2022 04:47
-
14света1414.01.2020 12:49
-
nsalexandrovna06.11.2020 15:02
-
мэри11426.09.2021 14:55
-
danik24rysskiy24.03.2022 10:49
-
gerastern27.03.2022 21:12
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.