Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
7 / 7 / 9
Регистрация: 07.02.2016
Сообщений: 207
Записей в блоге: 53

Необходимо найти все дополнительные диагонали(паралельные основной диагонали)

08.06.2018, 17:13. Показов 2117. Ответов 4

Студворк — интернет-сервис помощи студентам
Привет!Такое задание найти все дополнительные диагонали(паралельные основной диагонали)
Начал решать так,такое решение дает только одну дополнительную диагональ и все,мне нужно
чтобы довало остальные.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def checkio(matrix):
    results=[]
    x=0
    for k,row in enumerate(matrix):
        for i,elm in enumerate(row):
            if(x+1==i):
                results.append(elm)
                x=i
                break
        results.append('---')     
    print(results) 
if __name__ == '__main__':
    checkio([[11, 2,  4,   7],
            [ 4,  5,   6,  0],
            [10, 8, -12, -1],
            [10, 8, -12, -1]])#<---[2, '---', 6, '---', -1, '---', '---']
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2018, 17:13
Ответы с готовыми решениями:

Найти все дополнительные диагонали (параллельные главной диагонали) идущие с правой верхней стороны вниз налево
Привет!Надо найти все дополнителные(паралельные основной) диагонали в матрице,которые идут с правой верхней стороны вниз налево.Основную...

Матрица. Найти сумму элементов ниже побочной диагонали, сумму элементов, находящихся на основной диагонали
Не могу решить задачки... 2) Создать матрицу 4 × 4: Найти сумму элементов, которые находятся ниже побочной диагонали, сумму элементов,...

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

4
 Аватар для oldnick85
36 / 34 / 10
Регистрация: 15.07.2017
Сообщений: 128
09.06.2018, 20:55
Так выводятся "правые верхние" диагонали:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def checkio(matrix):
    results = []
    m = len(matrix[0])
    n = len(matrix)
    for i in range(m):
        r = []
        for k in range(min(m,n)):
            if (i + k > m - 1):
                break
            r.append(matrix[k][i+k])
        results.append(r)     
    print(results) 
    return results
Нижние по аналогии.
Кстати, для проверки используй более наглядные матрицы, по выводу сразу будет понятно верно или неверно:
Python
1
2
checkio([[11, 12, 13, 14, 15], [21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45]])
checkio([[11, 12, 13], [21, 22, 23], [31, 32, 33], [41, 42, 43]])
1
7 / 7 / 9
Регистрация: 07.02.2016
Сообщений: 207
Записей в блоге: 53
09.06.2018, 22:30  [ТС]
Еще такой вариант предложили:
Python
1
2
3
4
5
6
7
8
9
10
def checkio(matrix):
    results = []
    for counter in range(1, len(matrix)):
        diag_length = len(matrix) - counter
        results.extend([
            [matrix[i][i + counter] for i in range(diag_length)], # top-right
            [matrix[i + counter][i] for i in range(diag_length)]  # bottom-left
        ])
 
    print(results)
counter здесь имеет смысл расстояния от главной диагонали до параллельной диагонали (а параллельных на заданном расстоянии две: в углах справа-сверху (top-right) и слева-снизу (bottom-left) от главной диагонали). Расстояние между соседними диагоналями понимается равным единице. Стартуем с единицы чтоб не учитывать саму главную диагональ.
0
 Аватар для oldnick85
36 / 34 / 10
Регистрация: 15.07.2017
Сообщений: 128
09.06.2018, 23:39
Такое ощущение, что этот вариант сработает только для квадратных матриц
0
7 / 7 / 9
Регистрация: 07.02.2016
Сообщений: 207
Записей в блоге: 53
10.06.2018, 10:26  [ТС]
Да сказали что для квадратных матриц.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2018, 10:26
Помогаю со студенческими работами здесь

Найти сумму чисел ниже основной диагонали
Дан двумерный массив 7x7 целого типа, заполненый случайными числами.. Вывести на экран массив в виде двумерной матрицы. Найти сумму чисел...

Найти сумму элементов на побочной диагонали и ниже, не превышающих все элементы, расположенные выше побочной диагонали
В заданной матрице R (9,9) вычислить сумму тех элементов, размещенных на побочной диагонали и ниже нее, не превышающие все элементы,...

Найти сумму элементов выше основной диагонали матрицы
Дан двумерный массив 5x5 целого типа, заполненый случайными числами в диапазоне от 0 до 5. Вывести на экран массив в виде двумерной...

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

Заменить все элементы над основной диагональю матрицы на сумму элементов побочной диагонали
В заданной матрице замените все элементы над основной диагональю на сумма элементов побочной диагонали. Сортировать (переставить)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru