Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 5

Заполнение матрицы по спирали.

26.02.2013, 18:00. Показов 5221. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо заполнить квадратную матрицу m*n по спирали в соответствии с шаблоном:
2.1 закручивающаяся спираль:

Например:
1 2 3
8 9 4
7 6 5

2.2 раскручивающаяся спираль
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2013, 18:00
Ответы с готовыми решениями:

Заполнение матрицы по спирали
Недавно преподаватель дал дополнительное задание, которое называется спираль и попросил его сделать. подойдя с вопросом что именно там...

Заполнение матрицы по спирали
Здравствуйте! Объясните пожалуйста как работает спиральное заполнение в подробностях, со всеми циклами и шагами (пишите свой код)

Заполнение матрицы по спирали
При заполнении матрицы 10 на 8 выдаёт ошибку, помогите исправить int n = Convert.ToInt32(Console.ReadLine()); ...

3
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
26.02.2013, 20:19
Лучший ответ Сообщение было отмечено VSI как решение

Решение

И такая тема была
Занести элементы упорядоченной последовательности в подходящую по размеру квадратную матрицу по спирали
*видишь, использовать поиск полезно и совсем не страшно

**Направление зависит от вектора значений: если он от 1 до N получим закрутку по часовой, если он будет в обратном порядке (N:-1:1) - закрутка будет против часовой!
1
PintSizeAunt
18.03.2013, 20:52
Заполнение матрицы (n*n) по спирали с помощью циклов:

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function a = spiral_1(n)
x = 0;
y = 1;
num = 1; % помещаемый в матрицу элемент (1 <= num <= n^2)
ln = n; % длина рабочей строки (n >= ln >= 1)
inc = 1; % приращение координат {-1, 1}
while (ln ~= 0)
  i = 0;
  while (i ~= ln)
    x = x + inc;
    a(y, x) = num;
    num = num + 1;
    i = i+1;
  end
  i = 0;
  ln = ln-1;
  while (i ~= ln)
    y = y + inc;
    a(y,x) = num;
    num = num + 1;
    i = i + 1;
  end
  inc = inc * (-1);
end
end
0 / 0 / 0
Регистрация: 19.05.2018
Сообщений: 1
09.08.2023, 19:43
в дополнение если захотите спираль с пропусками то лучше не строгое неравенство, спасибо PintSizeAunt
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
n=7;
x = 0;
y = 1;
num = 1; % помещаемый в матрицу элемент (1 <= num <= n^2)
ln = n; % длина рабочей строки (n >= ln >= 1)
inc = 1; % приращение координат {-1, 1}
dln=2; % 1 - обычная спираль 2 пропуск через одну и т.д.
while (ln >= 0)
  i = 0;
  while (i <= ln)
    x = x + inc;
    a(y, x) = num;
    num = num + 1;
    i = i+1;
  end
  i = 0;
  ln = ln-dln;
  while (i <= ln)
    y = y + inc;
    a(y,x) = num;
    num = num + 1;
    i = i + 1;
  end
  inc = inc * (-1);
end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.08.2023, 19:43
Помогаю со студенческими работами здесь

Заполнение матрицы по спирали
Вывести на языке СИ такую матрицу (5 на 5, размерность можно изменять) 1 2 3 4 5 16 17 18 19 6 15 24 25 ...

Заполнение матрицы по спирали
Привет всем, можете помочь пожалуйста: надо придумать алгоритм, написать код на С++ заполнения матрицы по контуру по часовой стрелке (т.е....

Заполнение матрицы по спирали
Всем доброго времени суток. Есть такая задача: Заполнить квадратную матрицу, размерностью (N), целыми числами 1,2,3,4... Записываю их по...

Заполнение матрицы по спирали
Заполнить матрицу натуральными числами l..N*N, где N - размер матрицы. В программе предусмотреть возможность изменения размера матрицы. ...

Заполнение матрицы по спирали
Заполнить матрицу 10х10 числами от 1 до 100 по порядку, начиная с верхнего левого угла. #include&lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru