555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы28.11.2014, 17:12. Показов 33774. Ответов 21
Метки нет (Все метки)
Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку "end" (без кавычек)
Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний элемент находится с противоположной стороны матрицы. В случае одной строки/столбца элемент сам себе является соседом по соответствующему направлению.
P.S. Нужно только решение. Разжёвывать само решение не нужно. Заранее спасибо.
1
|
28.11.2014, 17:12 | |
Ответы с готовыми решениями:
21
Вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы Программа должна вывести матрицу, у которой каждый элемент в позиции I,j равен произведению элементов первой матрицы Массив: Вывести матрицу, у которой каждый элемент равен сумме элементов матрицы на заданных позициях... Получить матрицу X(M,M), каждый элемент которой равен сумме соответствующих элементов матриц А и B Определить квадратную матрицу, каждый элемент которой равен сумме элементов соответствующей строки |
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
30.11.2014, 17:22 [ТС] | 2 |
Подскажите, пожалуйста, как можно считать матрицу в массив через пробелы и через переходы на новую строку, пока не встретится строка "end".
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
30.11.2014, 17:46 | 3 | |||||
Сообщение было отмечено Dennis Ritchie как решение
Решение
Вот для тебя отправная точка, создание многомерного списка, дальше давай сам:
3
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||||||||||||
30.11.2014, 20:22 [ТС] | 4 | |||||||||||||||
Спасибо за отправную точку. А как сделать, чтобы печатать этот многомерный список в таком виде, в котором я его вводил, т. е. как матрицу. И как сделать, чтобы индексы за пределы не выходили:
tsar925, ну вот я научился правильно печатать матрицу по строкам:
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
30.11.2014, 20:43 | 5 |
По строкам это она у меня печаталась, а у тебя она тупо в строку печатается, как матрица вектор.
Задавай количество строк и столбцов и делай два цикла, один обходит столбцы другой строки и в этих циклах у тебя будет происходить ввод.
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||||||
30.11.2014, 20:50 [ТС] | 6 | ||||||||||
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
30.11.2014, 20:56 | 7 | |||||
Ну первая версия печатала все в строку. Если тебе уж так мешают скобки, то вот вариант как них избавиться по культурному.
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||||||
30.11.2014, 22:50 [ТС] | 8 | ||||||||||
Да, можно и так. Я просто забыл про это.
Сейчас пытаюсь реализовать правильную смену крайних элементов. Добавлено через 26 минут Посчитал наконец-то первое число из матрицы :
tsar925, ну вот я решил задачу полностью. Теперь её нужно сдать в тестирующую систему. Сдал я её, а программа валится на третьем тесте. Система пишет, что неправильный ответ. Не могу понять, где я ошибся.
Я понял, где я ошибся. len(data) - количество строк в матрице. А как узнать количество столбцов?
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
30.11.2014, 22:58 | 9 |
Ух тыж ёжики зеленые, лучше я бы это не видел теперь спать спокойно не смогу... Ужасы сниться будут.
Добавлено через 44 секунды По логике это количество элементов в одной строке
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
30.11.2014, 23:06 [ТС] | 10 |
Да, это и так понятно. А как узнать, сколько я ввёл элементов в одной строке?
Страшно? Это код C++ программиста, записанный на Python'e.
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
30.11.2014, 23:27 | 11 |
Разрезать строку с помощью split и посчитать количество элементов.
Если честно, то ооочень
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
30.11.2014, 23:28 [ТС] | 12 |
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
30.11.2014, 23:28 | 13 |
len(inp.strip().split())
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
01.12.2014, 00:08 [ТС] | 14 | |||||
Хорошо. А в какую часть кода мне вставить эту строку?
tsar925, так как же применить эту функцию к списку data? И как потом сохранить количество столбцов в переменную? Не понимаю.
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
01.12.2014, 00:30 | 15 | |||||
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
01.12.2014, 00:40 [ТС] | 16 |
Нет, так не пойдёт. Ведь система может ввести как квадратную матрицу, так и прямоугольную.
Что ли вообще нельзя никак сосчитать количество столбцов?
0
|
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
01.12.2014, 00:47 | 17 | |||||
Просто посчитать количество столбцов я уже сказал как
Добавлено через 1 минуту
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||||||
01.12.2014, 02:30 [ТС] | 18 | ||||||||||
Так куда вставить этот кусок кода? И что эта строка делает? Её нужно в цикл засунуть или просто присвоить переменной?
Добавлено через 1 час 35 минут Решил задачу полностью, но всё равно почему-то система выдаёт ошибку на третьем тесте:
0
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||||
01.12.2014, 06:01 [ТС] | 19 | |||||
:black_eye.: Наконец-то я затолкал это решение в тестирующую систему:
1
|
8 / 10 / 5
Регистрация: 06.06.2013
Сообщений: 108
|
||||||
16.12.2016, 20:01 | 20 | |||||
Здравствуйте, прошу помощи с решением этой задачи.
Искал инфу, как ввести матрицу и попал сюда. Вот что я набыдлокодил:
Код
[9, 5, 3] [0, 7, -1] [-5, 2, 9] 3 21 22 10 6 19 20 16 -1 [3, 21, 22] [10, 6, 19] [20, 16, -1] ------------------ (program exited with code: 0) Press return to continue Но при попытке проверить решение на сайте выдает: Код
Failed test #1. Wrong answer Input: 9 5 3 0 7 -1 -5 2 9 end Your output: -5035 2793 9-159 9-5-17 520-1 3970 0992 75-59 -132-5 Correct output: 3 21 22 10 6 19 20 16 -1 Может кто подскажет, в чем может быть проблема? Я понимаю, что вопрос скорее к разработчикам сервиса обучения, но в том конкретном уроке автор не отвечает на комментарии.
1
|
16.12.2016, 20:01 | |
16.12.2016, 20:01 | |
Помогаю со студенческими работами здесь
20
Сгенерировать матрицу размером n*n, в которой каждый элемент равен сумме элементов, стоящих выше и левее Создать матрицу, каждый элемент которой равен сумме соответствующих элементов двух первых матриц Создать третий массив того же размера, каждый элемент которого равен сумме соответствующих элементов первых двух Создать третий массив того же размера, каждый элемент которого равен сумме соответствующих элементов двух первых массивов Построить последовательность С, каждый элемент которой равен сумме элементов строк матрицы В Построить матрицу B, элемент bij которой равен сумме элементов данной матрицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |