Помощь - Поиск - Пользователи - Календарь
Полная версия: Вывод двумерного массива и подсчет суммы каждой строки.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Legat1177
Доброго времени суток всем!

есть решенная задача:

Заполните массив случайными числами и подсчитайте сумму по строкам, результат выведите на экран. (пример изображения приложил);

я ее решил таким образом:

uses crt;
const n=5;
var mas:array[1..n,1..n] of integer;
i,j:integer;
sum:integer;
Begin
clrscr;
randomize;
for i:=1 to n do
for j:=1 to n do
mas[i,j]:=random(10);
writeln('Вывод массива*');
for i:=1 to n do
begin
for j:=1 to n do
write(mas[i,j],' ');
writeln
end;
writeln('Вывод суммы элементов строк');
for i:=1 to n do begin
sum:=0;
for j:=1 to n do
sum:=sum+mas[i,j];
writeln(sum);
end;
readln;
End.


Но преподаватель хочет, чтобы сумма значений считалась сразу при вводе массива... "тогда не будет лишнего прогона по проге"

В этом у меня загвоздка. не понимаю куда нужно перетащить "считалку" и чтобы все осталось работать и выводилось так же как на примере? попробовал сам но у меня программа перестала нормально работать.
вот пример как должно быть:
Нажмите для просмотра прикрепленного файла
Client
uses crt;
const n=5;
var mas:array[1..n,1..n] of integer;
i,j:integer;
sum:integer;
Begin
clrscr;
randomize;
for i := 1 to n do begin
sum := 0;
for j := 1 to n do begin
mas[i,j] := random(10);
sum := sum + mas[i,j];
write(mas[i,j]:3);
end;
writeln (' sum = ', sum);
end;
End.
Legat1177
а как мне воткнуть надпись "вывод суммы элементов строк" чтобы она была под массивом и уже после нее вертикально шли суммы по каждой строке?
Client
так тебе что именно надо? считать при вводе или вывести как на рисунке? или и то и другое? тогда надо сохранять суммы в массиве (отдельном).
Legat1177
Цитата(Client @ 2.12.2010 18:26) *

так тебе что именно надо? считать при вводе или вывести как на рисунке? или и то и другое? тогда надо сохранять суммы в массиве (отдельном).

В том то и дело что нужно чтоб было как на картинке и в то же время считать сумму значений сразу при вводе массива.... может препод хочет того что невозможно сделать... blink.gif
volvo
Ну, вот и считай сразу при вводе строки. И потом - сохраняй в доп. массив (до тех пор, пока не будет введена вся матрица).

По-моему, это ничуть не противоречит "хотению" твоего преподавателя... Считаться-то значения будут сразу, то есть для их вычисления не понадобится второй проход по матрице...
Legat1177
Цитата(volvo @ 2.12.2010 19:02) *

Ну, вот и считай сразу при вводе строки. И потом - сохраняй в доп. массив (до тех пор, пока не будет введена вся матрица).

По-моему, это ничуть не противоречит "хотению" твоего преподавателя... Считаться-то значения будут сразу, то есть для их вычисления не понадобится второй проход по матрице...

Ок, сейчас попробую.

Добавлено через 3 мин.
Огромное спасибо! все получилось
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.