Страница 3 из 3
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 19:41
Medved
Вероятно не совпадают столбец-строка. Замените мас2[i,j] на mas2[j,i]
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 19:47
scudo
Чтоб брался только один элемент со строки.Т.е.Если без а, то суммирует в 1 строчке все элементы которые находятся под вторым for. А именно: For j:=nach_stb to kon_stb do. Поэтому не осуществляется переход на вторую строку (осуществляется после того как закончит работу со столбцами). А надо чтоб было данным образом:
Матрица:
1 2 3 4
6 7 8 9
1 2 2 3
4 5 9 7.
Как в сумме появилось число необходимо строка+1 и столбец+1
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 19:54
Medved
Теперь я уже практически на сто процентов уверен что попутаны строки-столбцы
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 20:02
scudo
Код: Выделить всё
For i:=nach_str to kon_str do
For j:=nach_stb to kon_stb do
begin
a:=a+1;
If a=1 then
sum1:=sum1+mas2[j,i];
If j=kon_stb then
a:=0;
end;
Ну вот. Там где осуществляется сумма поменял местами i и j. Выводит 28. Для выше приведенной матрицы. Данный код осуществляет работу тока в верхней части от главной диагонали. А если посчитать, то должен выводить 13
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 20:05
Medved
А в первоначальном варианте что выводил?
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 20:11
scudo
ОООО.Заоблачные цифры.Проверяю пошагово (выше приведенная матрица). После того как он переходит на 2 строку, сумма оказывается не 10 а 9.Менял немного матрицу.Т.е. вместо 7 писал 10 (указал на матрице в скобках где именно)
Матрица:
1 2 3 4
6 7(10) 8 9
1 2 2 3
4 5 9 7.
После этого сумма становилась не 9, а 12...Он почему то сумирует в самом начале 2 элемент столбеца из второй строки. Если есть желание посмотреть на программу то магу кинуть на мыло
Re: Небольшая программка на Паскале
Добавлено: 05 апр 2008, 20:47
scudo
Теперь подшаманил стал считать только одну диагональ
Re: Небольшая программка на Паскале
Добавлено: 06 апр 2008, 18:09
scudo
Всем Огромное спасибо! Разобрался с задачей.Все работает.
