e-olymp 4751. Диагонали

Задача

В квадратной таблице [latex] n × n [/latex] подсчитать сумы чисел, стоящих на главной и побочной диагоналях.

Входные данные

Вводится число [latex]n (1 \le n \le 500)[/latex], а затем матрица [latex] n × n [/latex]. Элементы матрицы — числа по модулю не больше [latex]10^5[/latex].

Для того, чтобы понять, как какая диагональ называется, внимательно присмотритесь ко второму примеру.

Выходные данные

Вывести сумму чисел сначала на главной, а затем на побочной диагонали.

Тесты

Вход Выход
4
134 475 30 424
303 151 419 235
248 166 90 42
318 237 184 36
411 1327
7
-59 21 7 5 12 868 -565
32 19 52 3 7 11 0
3 -123 -52 -99 -857 -4621 -561
11 232 86 652 46 3244 572
857 -1242 -6767 923 -575 12 1
552 232 2 63 -76 23 0
12 34 87 20 -7 767 959
967 -7282
3
1 45 82
96 29 90
757 23 12
42 868
2
12 32
99 71
83 131
5
12 32 54 76 12
95 23 21 123 0
65 32 1 773 992
5 32 155 866 912
134 44 74 11 23
36 136

 Код программы

Решение

Создаем динамический массив.

Чтобы найти сумму главной диагонали берём, лишь те элементы массива, в которых номер строки и столбца равны.

Чтобы просуммировать побочную диагональ, используем цикл в котором используем элементы массива начиная с первого столбца и последней строки и движемся к  противоположному (первая строка, последний столбец).

Ссылки

e-olymp

ideone

 

Related Images:

13 thoughts on “e-olymp 4751. Диагонали

  1. Тесты очень похоже, что не соответствуют условию и решению.

    Раз уж Вы выделяете массив из кучи, то удалите его по окончании работы программы, пожалуйста.

    • Отредактировал, опираясь на ваши советы. Надеюсь всё в порядке.

    • Теперь с табуляциями вокруг последнего цикла проблема.

      2
      12 32
      99 71 85 131

      Какие два числа нужно сложить, чтобы получить 85?

    • Использовать вышеуказанные числа?

    • Не знаю, но это Ваш четвертый пример

    • У Вас в других примерах тоже не сходится. Вы ответы руками считали?

  2. Еще раз подчеркну, что здесь с табуляциями что-то не в порядке. А всему виной жадность — пожалели лишнюю строчку для тела цикла.

    • Очень желательно просмотреть по крайней мере этот короткий текст. И переделать в соответствии с ним оформление кода. Возможно станет яснее, что от вас хочет Олег.
    • И тесты пересчитайте. Ваша программа их не проходит.
    • Уровни вложенности соответствуют H1, H2 и т.д. У Вас H2 и H4. Это дерево со вторым и четвертым слоем веток. Без первого и третьего. Так не бывает.
    • Уберите ненужные пустые строки и  
    • Уберите точку в заголовке. Вы же видели какие-то книги? Название может быть «Алгебра», но не «Алгебра.»
    • По поводу уровня вложенности не совсем ясно. Можно поподробней, если не сложно.

    • Забудьте прошлый комментарий. Посмотрите, пожалуйста, новую редакцию.

  3. Хорошо.
    Только научитесь «гуглить» команды laTex. Тогда легко найдете \times и \leqslant, а не будете просто копировать откуда-то символы, которые выглядят очень похоже, но не позволяют делать семантический (смысловой) анализ формул.

Добавить комментарий