Цитата:
Сообщение от garik
Преподаватель сказал,что ввод n и m должен осуществлятся после запуска программы,т.е. нужно написать,чтобы после запуска программы была надпись введите строку и введите столбец соответственно.И я не знаю как мою программу переделать,чтобы это все было
|
И поэтому Вы в листинге вообще выкинули ввод данных? Лихо...
Не знаю, правильно ли я понимаю ход мысли преподавателя, но поступить можно так: задать, как у Вас это и сделано на фото, массив "с запасом", затем ввести n и m (порознь, потому что матрица может быть и не квадратной!), а затем вводить саму матрицу, причем не "вслепую", как у Вас, а с выводом номера строки и столбца. В итоге я бы написал так:
Код:
program p2;
uses crt;
var
i,j,p,n,m:integer;
matrix: array[1..100,1..100] of integer;
begin
Write('Number of rows = ');
ReadLn(n);
Write('Number of columns = ');
ReadLn(m);
For i:=1 to n do
For j:=1 to m do
begin
Write('matrix[',i,',',j,']= ');
ReadLn(matrix[i,j]);
end;
WriteLn;
For i:=1 to n do
begin
For j:=1 to m do
Write(matrix[i,j]:5);
WriteLn;
end;
WriteLn;
for i:=1 to n do
if i mod 2 = 1 then
begin
p:=0;
for j:=1 to m do
p:=p+matrix[i,j];
writeln('The sum of elements of ',i,' row is ',p);
end;
readln;
end.
Важно:
1. Нумерацию строк и столбцов матрицы принято начинать с 1, а не с 0.
2. По завершении ввода элементов предусмотрен вывод на экран всей матрицы.
3. В соответствии с условиями задачи, подсчитывается и выводится сумма элементов КАЖДОЙ нечетной строки, а не всех скопом, как у Вас.