Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Сумма диагоналей двумерного массива. В чем ошибка?

sdg we6t Ученик (91), на голосовании 7 лет назад
Дополнен 7 лет назад
Дан двумерный массив размерами n*n, найти сумму его диагоналей
Дополнен 7 лет назад
i == j - проверка на равенство нумерации элементов в цикле, если не ошибаюсь, координаты точек диагоналей равны по х и у. Пробовал с изначально заданным n: интерпретатор ругается на строчку s = s + a[i][j]
Голосование за лучший ответ
Громозека Просветленный (42918) 7 лет назад
ну для начала нужно, чтобы в массиве реально существовали эти диагонали, попадающие на конкретные числа. Ещё возможно в перекрестии ты дважды учитываешь одно число - стандартная ошибка при программировании.

п. с. упрощай до минимума для анализа - 3х3. И заполняешь к примеру нулями, а в центре 1 и посмотри что получится. Проверяй. Должно быть кконечно 1, А вот если 2, то как раз тот самый косяк и есть. Эксперементируй в общем.

п. п. с. алгоритм определения диагоналей какой ?!

1. Ну ты парень прост как валенок! Ныне уже надо "защиту от дураков" ставить - делать вначале проверку, что диагонали корректные существуют !

2. Язык программирования твой не изучал ни разу. Не вижу ввода изнального всех значений массива. Ты совем новичОк? Хорошо допустим он как-то уже был задан !

3. if i==j: - это что такое? Проверка на равенство элементов или что? Зачем? после этого суммирование? таковых ?

Если проверка на равенство нумерации, то в любом случае ты забываешь вторую диагональ! Ведь вторая диагональ пойдёт справа-налево и сверху вниз. (снизу врятли кто её вверх "потянет":))) Опять же центральный элемент будет посчитан дважды, возможно проще всего попросту его будет вычесть один раз.

4. такое чувство что в начале ты таким образом не можешь ввести двумерный массив никак! Там ж чисел будет n*n, а у тебя "строка" вроде как получается.

п. с. лет 20 назад изучал разные языки програмирования. По моему тут делаешь чего попало (честно говоря). Тебе надо брать поэлементно каждую диагональ и вот как ты складываешь в конце! s. Ты чего-то ненужное складываешь с этой проверкой - личное мнение.
Источник: подкорректировал ответ.
Shalafi Мудрец (15038) 7 лет назад
Эм.. у тебя подход немного не верный, как по мне....
Так вот ведь проще: https://repl.it/EmuN

ЗЫ и не диагоналей, а чисел на диагонале.
У матрицы 2 диагонали если что....
Похожие вопросы