Показать сообщение отдельно
Старый 31.03.2011, 09:59   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

1. Вместо ненулевых, как требуется в условии, Вы считаете нулевые элементы. Поэтому условие должно быть if x[i,j]<>0 then...
2. Если результаты подсчета выводятся сразу после обработки каждого из условий (выше... ниже... на...), то нормально, не забываем только обнулить k перед циклом. А вот если в конце, то для каждого из условий нужен свой идентификатор счетчика, например k1, k2, k3.
3. Не ошибка, но излишняя громоздкость. При подсчете ненулевых элементов на главной диагонали, двойной цикл не нужен, достаточно однократного. Выглядит так:
for i:=1 to n do
if x[i,i]<>0 then inc(k);
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070