Предмет: Информатика,
автор: Ar4p
Пожалуйста, на программе Паскаль срочно надо
Ввести двумерный массив A N×M , вывести его. Найти сумму
положительных элементов массива, исключая при этом те элементы, которые
кратны трём. Полученной суммой заменить отрицательные элементы
последнего столбца.
Ответы
Автор ответа:
0
//PascalABC.Net 3.2
procedure printMas(a: array of array of integer; n, m: integer; mess:string);
begin
writeln (mess);
for var i:=0 to n-1 do a[i].Println;
writeln ();
end;
begin
var a: array of array of integer;
var n:=readinteger('n =');
var m:=readinteger('m =');
var s:='';
var sum:=0;
setLength (a, n);
for var i:=0 to n-1 do begin
s:='Введите строку массива ' + (i +1)+ ': ';
a[i]:=readarrinteger (s, m);
for var k:=0 to m-1 do if ((a[i][k]/3)<>(a[i][k] div 3)) and (a[i][k]>0) then
sum+=a[i][k];
end;
printMas(a, n, m, 'Введенный массив:');
writeln ('Сумма неотрицательных элементов, не кратных трем: ', sum);
for var i:=0 to n-1 do if a[i][m-1]<0 then a[i][m-1]:=sum;
printMas(a, n, m, 'Новый массив:');
end.
procedure printMas(a: array of array of integer; n, m: integer; mess:string);
begin
writeln (mess);
for var i:=0 to n-1 do a[i].Println;
writeln ();
end;
begin
var a: array of array of integer;
var n:=readinteger('n =');
var m:=readinteger('m =');
var s:='';
var sum:=0;
setLength (a, n);
for var i:=0 to n-1 do begin
s:='Введите строку массива ' + (i +1)+ ': ';
a[i]:=readarrinteger (s, m);
for var k:=0 to m-1 do if ((a[i][k]/3)<>(a[i][k] div 3)) and (a[i][k]>0) then
sum+=a[i][k];
end;
printMas(a, n, m, 'Введенный массив:');
writeln ('Сумма неотрицательных элементов, не кратных трем: ', sum);
for var i:=0 to n-1 do if a[i][m-1]<0 then a[i][m-1]:=sum;
printMas(a, n, m, 'Новый массив:');
end.
Автор ответа:
0
//обнови ответ
Похожие вопросы
Предмет: Геометрия,
автор: pilel
Предмет: Математика,
автор: amogus22834
Предмет: Английский язык,
автор: spalanskaasvetlana
Предмет: Химия,
автор: Sheldon1Cooper
Предмет: Математика,
автор: Анютка200333