09.06.2011, 14:10 | #1 (permalink) |
Member
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Двумерный массив
№22 Дан массив размера M*N. Для каждого столбца матрицы с четным номером (2,4,…) найти сумму его элементов. Объявление переменных: const nmax=10; var a:array[1..nmax,1..nmax] of integer; m,n,i,j:byte; s:integer; begin randomize; repeat write('kol-vo strok ot 2 do ',nmax,' m=>'); readln(m); until m in [2..nmax]; repeat write('kol-vo stolbcov ot 2 do ',nmax,' n=>');readln(n); until n in [2..nmax]; writeln('ishodnaya matrica'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(20); write(a[i,j]:3); end; writeln; end; writeln; создаем цикл i=2 т.к. мы будем учитывать только четные столбцы, поэтому похоже мы к i прибавляем 2,чтоб работать с ними..s(сумма) - начальное значение 0. И в цикле считаем и выводим значение суммы элемента каждого столбца: i:=2; while i<=n do begin s:=0; for j:=1 to n do s:=s+a[i,j]; writeln('summa v stroke ',i,' = ',s); i:=i+2; end; readln; end. |
09.06.2011, 14:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
В похожих темах обычно много интересных советов В Паскале двумерный массив Двумерный массив. Задача Фортран, двумерный массив Паскаль, двумерный массив |
09.06.2011, 14:55 | #2 (permalink) |
Member
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
о-о-о-о Я Нашла ошибку:
Вместо Код: while i<=n do нужно Код: while i<=m do потому что n - это количество столбцов, а вам нужно сравнивать с количеством строк. |
10.06.2011, 04:28 | #5 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|