Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/120: Рейтинг темы: голосов - 120, средняя оценка - 4.88
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310

Найти сумму элементов над и под главной и побочной диагоналями

28.06.2019, 16:16. Показов 24103. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана матрица размером NxN. найти сумму элементов над и под главной и побочной диагоналями:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from random import randint
N = int(input())
lst=[[randint(1, 9) for i in range(N)] for i in range(N)]
for i in lst:
    print()
    for j in i:
        print (j, end=" ")
sum=0
for i in range(1, N):
    for j in range(i):
        sum = sum+lst[i][j]
print('\nсумма под главной диагональю', sum)
sum1=0
for i in range(i):
    for j in range(j):
        if i<N-j-1:
            sum1 = sum1+lst[i][j]
print('\nсумма выше побочной', sum1)
sum2=0
for i in range(i):
    for j in range(j):
        if i>N-j-1:
            sum2 = sum2+lst[i][j]
print('\nсумма ниже побочной', sum2)
Проблема в том, что суммы над и под побочной диагональю неправильно ищет:

Подскажите, как исправить это. Заранее большое спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2019, 16:16
Ответы с готовыми решениями:

Найти сумму положительных элементов расположенных одновременно над главной и над побочной диагоналями
Ввести двумерный массив A(N x M),вывести его. Найти сумму положительных элементов расположенных в части массива одновременно как над...

Найти произведение элементов матрицы над главной, но под побочной диагоналями
в задании сказано &quot;найдите произведение элементов, которые одновременно находятся НАД главной и ПОД побочной диагоналями&quot; ( в моем...

Найти сумму положительных элементов в части массива над главной и побочной диагоналями
Помогите решить, пожалуйста, эту задачу. Никак не допру: Ввести двумерный массив ANxN, вывести его. Найти сумму положительных элементов...

15
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
28.06.2019, 16:23
Цитата Сообщение от catauggie Посмотреть сообщение
Подскажите, как исправить это.
включить дебаггер, голову , и построчно проверять программу - эта способность пригодится и в будущем. Неужели проще по каждому фейлу бежать на форум?
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
28.06.2019, 16:33  [ТС]
НЕ вижу тут каких-либо ошибок, и я по этому поводу
Цитата Сообщение от Welemir1 Посмотреть сообщение
Неужели проще по каждому фейлу бежать на форум
уже все сказал
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
28.06.2019, 16:35
debugger! use it!
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
28.06.2019, 19:09  [ТС]
и все-таки цикл обработки вроде бы правильный
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
28.06.2019, 19:19  [ТС]

Можно конечно знак меньше поменять на меньше ли равно. Но результат все равно неправильный:
5 7 6
1 2 6
1 6 9
произведение под главной диагональю 6

произведение над главной диагональю 252

сумма над главной диагональю 19

сумма под главной диагональю 8

сумма выше побочной 5
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
28.06.2019, 19:33  [ТС]
в общем случае считает сумму над побочной, не включая соседнюю выше диагональ:
9 6 3 1
1 3 9 6
3 8 8 4
8 3 8 1
произведение под главной диагональю 4608

произведение над главной диагональю 3888

сумма над главной диагональю 29

сумма под главной диагональю 31

сумма выше побочной 16

Добавлено через 11 минут
я перепробовал все варианты и сдаюсь: при любом знаке перед единицей или в неравенстве программа упорно считает неправильную сумму
0
Эксперт Python
 Аватар для dondublon
4651 / 2071 / 366
Регистрация: 17.03.2012
Сообщений: 10,181
Записей в блоге: 6
29.06.2019, 11:51
Советы.
1. Не используйте случайные числа для поиска ошибки. Вам нужен повторяющийся детерминированный процесс.
2. Выводите в лог, что суммируете. Так-то гадать можно долго, что там именно не так суммируется.
3. Дебаггер - хорошая вещь.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.06.2019, 12:52
Лучший ответ Сообщение было отмечено catauggie как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from random import randint
 
N = int(input())
lst = [[randint(1, 9) for _ in range(N)] for _ in range(N)]
for i in lst:
    print(*i)
summ = 0
for i in range(1, N):
    summ += sum(lst[i][:i])
print('\nсумма под главной диагональю', summ)
sum1 = 0
for i in range(N):
    sum1 += sum(lst[i][:N-1-i])
print('\nсумма выше побочной', sum1)
sum2 = 0
for i in range(1, N):
    sum2 += sum(lst[i][-i:])
print('\nсумма ниже побочной', sum2)
Добавлено через 21 минуту
Python
1
2
3
4
5
6
7
8
9
from random import randint
 
N = int(input())
lst = [[randint(1, 9) for _ in range(N)] for _ in range(N)]
for i in lst:
    print(*i)
print(f'\nсумма под главной диагональю: {sum(sum(lst[i][:i]) for i in range(1, N))}')
print(f'\nсумма выше побочной: {sum(sum(lst[i][:N - 1 - i]) for i in range(N))}')
print(f'\nсумма ниже побочной: {sum(sum(lst[i][-i:]) for i in range(1, N))}')
2
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
30.06.2019, 15:43  [ТС]
А что такое дебаггер?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.06.2019, 16:36
catauggie, вот, на примере java (Intellij IDEA), но в принципе все одно и то же.
https://www.cyberforum.ru/java/thread2250765.html
0
Эксперт Python
 Аватар для dondublon
4651 / 2071 / 366
Регистрация: 17.03.2012
Сообщений: 10,181
Записей в блоге: 6
30.06.2019, 16:46
catauggie, поставьте PyCharm или другую ide, там встроен.
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
01.07.2019, 14:28  [ТС]
dondublon , у меня стоит Pycharm. Только я вообще не понимаю, как им пользоваться. Не посоветуете какой-нибудь курс или нормальную статью для новичков, а то документацию на английском мне в лом в читать
0
01.07.2019, 14:30

Не по теме:

catauggie, в программировании без английского делать нечего, все доки, статьи и стоящие книги на нем, так что...

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
01.07.2019, 14:31
catauggie, по ссылке, которую я тебе привел мануал с картинками в Intellij IDEA. Это тот же самый PyCharm
1
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
24.06.2022, 23:32
Python
1
2
3
4
5
6
7
8
9
10
import numpy as np
n = 3 
 
ar = np.random.randint(0, 9, size=(n,n))
print('Исходная матрица:\n', ar)
print('Сумма элементов под главной диагональю:')
print(sum(np.sum([[j for j in np.diag(ar, k = -i)] for i in range(1, n)])) )
ar1 = np.rot90(ar)
print('Сумма элементов под побочной диагональю:')
print(sum(np.sum([[j for j in np.diag(ar1, k = i)] for i in range(1, n)])) )
Наверняка, строки 7 и 10 можно оптимизировать, только пока не могу сообразить как именно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2022, 23:32
Помогаю со студенческими работами здесь

Массивы. сумма элементов над (под) главной и над (под) побочной диагоналями
Дана матрица А(n,n). Найти сумму элементов над (под) главной и над (под) побочной диагоналями (включительно с элементами диагоналей).

Найти сумму элементов под главной и под побочной диагоналями матрицы
С главной диагональю я справилась,а вот с побочной туго...Помогите пожалуйста. Заранее спасибо) Console.WriteLine(&quot;введите...

Посчитать сумму элементов над главной и над побочной диагоналями
Как посчитать сумму элементов над главной и над побочной диагоналями? using System; using System.Collections.Generic; using...

В массиве С(Р, Р) определить произведения элементов, расположенных одновременно под побочной и над главной диагоналями
В массиве С(Р, Р) определить произведения элементов, расположенных одновременно под побочной и над главной диагоналями. Помогите...

Определить наименьшее значение среди элементов, расположенных одновременно над главной и под побочной диагоналями
Есть квадратная матрица, в которой необходимо определить наименьшее значение среди элементов, расположенных над главной диагональю и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru