Небольшая программка на Паскале

Medved
Сообщения: 256
Зарегистрирован: 14 фев 2008, 20:51
Контактная информация:

Вероятно не совпадают столбец-строка. Замените мас2[i,j] на mas2[j,i]
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Чтоб брался только один элемент со строки.Т.е.Если без а, то суммирует в 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
Medved
Сообщения: 256
Зарегистрирован: 14 фев 2008, 20:51
Контактная информация:

Теперь я уже практически на сто процентов уверен что попутаны строки-столбцы
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Код: Выделить всё

  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
Medved
Сообщения: 256
Зарегистрирован: 14 фев 2008, 20:51
Контактная информация:

А в первоначальном варианте что выводил?
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

ОООО.Заоблачные цифры.Проверяю пошагово (выше приведенная матрица). После того как он переходит на 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 элемент столбеца из второй строки. Если есть желание посмотреть на программу то магу кинуть на мыло
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Теперь подшаманил стал считать только одну диагональ
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Всем Огромное спасибо! Разобрался с задачей.Все работает. :)
Ответить