Составить программу формирования динамического прямоугольного масси-ва а из n строк и m столбцов случайными числами, сделать возможным его ре-дактирование. вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом. delphi 7
197
464
Ответы на вопрос:
{$apptype console} var a: array of array of real; n,m,i,j,c: integer; procedure bbodgranic(); begin write('n = '); readln(n); write('m = '); readln(m); setlength(a,n,m); end; procedure zapolneniernd(); var i,j: integer; begin randomize; for i: = 0 to n-1 do for j: = 0 to m-1 do a[i,j]: =random*21-10; end; procedure bbibod(); var i,j: integer; begin write('': 3); for i: = 0 to m-1 do write(i: 5,' '); writeln; for i: = 0 to n-1 do begin write(i: 2,' '); for j: = 0 to m-1 do write(a[i,j]: 5: 1,' '); writeln; end; end; procedure re(); begin write('i = '); readln(i); write('j = '); readln(j); write('a[',i,',',j,'] = '); readln(a[i,j]); end; procedure sumdok(); var k,i,j: integer; s: real; begin repeat write('k = '); readln(k); until k > 0; m: =m+1; setlength(a,n+1,m+1); if k > m then k: =m; for i: = 0 to n-1 do begin s: =0; for j: = 0 to k-1 do s: =s+a[i,j]; for j: = m downto k do a[i,j]: =a[i,j-1]; a[i,k-1]: =s; end; end; begin bbodgranic(); zapolneniernd(); bbibod(); repeat writeln; writeln('1 - изменить размеры массива'); writeln('2 - заполнить массив случайными числами'); writeln('3 - ввести новое значение заданного элемента'); writeln('4 - вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом.'); writeln('5 - вывод массива'); writeln('9 - выход'); readln(c); case c of 1: bbodgranic; 2: begin zapolneniernd; bbibod; end; 3: re; 4: begin sumdok(); bbibod end; 5: bbibod; end until c = 9; end.
const max=30;
var c: array[1..max,1..max] of integer;
m,n,i,j,p,k,s: integer;
begin
randomize;
repeat
write('количество строк от 2 до ',max,' m=');
readln(m);
until m in [2..max];
repeat
write('количество столбцов от 2 до ',max,' n=');
readln(n);
until n in [2..max];
writeln('исходная матрица');
for i: =1 to m do
begin
for j: =1 to n do
begin
c[i,j]: =-10+random(21);
write(c[i,j]: 4);
end;
writeln;
end;
write('p=');
readln(p);
k: =0;
for i: =1 to m do
begin
s: =0;
for j: =1 to n do
if c[i,j]> 0 then s: =s+c[i,j];
if s> p then k: =k+1;
end;
write('количество строк по условию=',k)
end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
hooh232non66627.07.2020 08:07
-
LIZA55566677703.11.2020 19:06
-
egorkamarkov016.07.2020 19:34
-
pamagiteplease13.06.2021 14:25
-
HepBbI13.02.2021 15:15
-
Пумба13221.12.2020 05:41
-
LiliLaind10.02.2020 22:43
-
малинка2017705.03.2022 23:44
-
vvvvcrrrq01.09.2022 07:41
-
PlayGirl199905.03.2022 15:59
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.