|
3 / 3 / 3
Регистрация: 14.11.2011
Сообщений: 63
|
||||||
Прочитать матрицу по спирали22.12.2016, 14:51. Показов 2138. Ответов 5
Метки нет (Все метки)
Ребята есть такое задание нужно прочитать матрицу по спирали
вот мои наброски)) но тут читает только по строкам есть два варианта решений один рабочий один только задумка в первом мы используем col row directon switch и тд во втором можно сделать так? чтоб сначала читать первую строчку потом поворачивать матрицу на 270(ну или на 90 против часовой) и читать строчки в таком порядке прочитал,удалил,перевернул Какой из вариантов более рабочий?? и немножко надо помочь реализовать эти варианты)))
0
|
||||||
| 22.12.2016, 14:51 | |
|
Ответы с готовыми решениями:
5
Заполнить матрицу по спирали Расположить матрицу по спирали Заполнить матрицу ЛП, от центра по спирали |
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|
| 22.12.2016, 14:55 | |
|
1
|
|
|
3 / 3 / 3
Регистрация: 14.11.2011
Сообщений: 63
|
||||||
| 22.12.2016, 15:08 [ТС] | ||||||
|
TopLayer, а какой вариант лучше как думаешь?
Добавлено через 2 минуты
TopLayer, как думаешь второй вариант реально сделать ?
0
|
||||||
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|||
| 22.12.2016, 15:16 | |||
|
Добавлено через 1 минуту ![]() Думаю первый лучше.
1
|
|||
|
71 / 66 / 29
Регистрация: 28.10.2013
Сообщений: 248
|
|
| 22.12.2016, 15:27 | |
Сообщение было отмечено DoNNanaY как решение
Решение
Нужно идти по спирали и контролировать изменение i, j в цикле обхода) крутить всю матрицу это гг (если конечно это не условие) )
Решал задачки подобные давно, опишу на словах как я вижу алгоритм) 1) Есть переменные direction (enum: row, column) и reverse (bool). - direction (row) + reverse (false) подразумевает движение по горизонтали вправо (увеличение индекса j); - direction (row) + reverse (true) подразумевает движение по горизонтали влево (уменьшение индекса j); - direction (column) + reverse (false) подразумевает движение по вертикали вниз (увеличение индекса i); - direction (column) + reverse (true) подразумевает движение по вертикали вверх (уменьшение индекса i). 2) Есть переменные top (изначально 0), right (изначально равняется количеству столбцов матрицы - 1), bottom (изначально равняется количеству строк матрицы - 1), left (изначально 0). Назначение этих переменных ограничивать матрицу с соответствующих сторон во время обхода. 3) Принцип проверки ограничений сторон: - row + false проверяется right; при достижении ограничения инкрементим top; - column + false проверяется bottom; при достижении ограничения инкрементим right; - row + true проверяется left; при достижении ограничения инкрементим bottom; - column + true проверяется top; при достижении ограничения инкрементим left; Точно в таком же порядке будет происходить изменение direction и reverse при достижении ограничения. 4) Стартовые данные: индекс [0,0], direction (row), reverse (false). Пару switch (можно более хитроумно) и поехали. P.S. По-моему довольно логичный алгоритм, с элементарной возможностью переделать под проход против часовой, или со стартом например из нижнего правого угла матрицы и т.п.
1
|
|
|
3 / 3 / 3
Регистрация: 14.11.2011
Сообщений: 63
|
|||||||||||
| 22.12.2016, 16:25 [ТС] | |||||||||||
|
ребята если вам скучно и дико хочется помочь кому-то и вы немного мазахист))
смотрите тогда что у меня получилось)) это не правильно но смысл вы наверное поняли) мне сказали надо автоматизировать весь этот процесс засунув все в while и уже там будет всего пару циклов вот код:
Добавлено через 21 минуту
0
|
|||||||||||
| 22.12.2016, 16:25 | |
|
Помогаю со студенческими работами здесь
6
Создать программу, которая заполняет квадратную матрицу по спирали Сформировать целочисленную квадратную матрицу, в которой числа размещены по спирали Заполнить матрицу начиная с левого верхнего угла закручивающейся по спирали
Как прочитать матрицу из файла на С#? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|