Omegga
|
|
1 | |
Заполнить квадратную матрицу единицами по спирали24.09.2008, 21:40. Показов 3396. Ответов 4
Метки нет Все метки)
(
Помогите решить, пожалуйста!!!
![]() Заполнить квадратную матрицу NxN единицами ('1') по спирали (начиная с элемента с координатами (1,1) по часовой стрелке. N ввести с клавиатуры (1 <= N <= 10). Распечатывать матрицу после каждого изменения направления заполнения. |
24.09.2008, 21:40 | |
24.09.2008, 21:40 | |
Ответы с готовыми решениями:
4
Заполнить квадратную матрицу натуральными числами по спирали
|
6140 / 1898 / 14
Регистрация: 07.07.2008
Сообщений: 10,417
|
|
24.09.2008, 22:15 | 2 |
если не гнаться за оптимизацией, то можно заполнять верхний ряд-правый-нижний-левый-2й верхний-2й ат будет тот-же правый.... результат будет тот-же. распечатывать после заполнения каждого ряда.
можно по другому: 1)заполнить ячейку 1;1 2)n=n-1 3)от текущей ячейки не включая её заполнить n ячеек справа. распечатать 4)от текущей ячейки не включая её заполнить n ячеек вниз. распечатать 5)от текущей ячейки не включая её заполнить n ячеек влево. распечатать 6)n=n-1 if (n=0) exit 7)от текущей ячейки не включая её заполнить n ячеек вверх. распечатать 8)goto 3;
0
|
Почетный модератор
![]() 64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
25.09.2008, 09:07 | 3 |
Я вот сделал вывод по другому, мне так больше нравится, если что переделаете.
Там правда маленький глюк есть, на некоторых участках по две единицы выводит, лень думать. Код
uses crt; type Tmatr=array[1..20,1..20]of byte; var a:Tmatr; n,i,j:byte; x,y:byte;{координаты} add:integer;{длина отрезка от поворота до поворота} dir:integer;{шаг = +1 вправо и вниз, -1 влево и вверх} procedure Vyvod(m,c,d:byte;var q:Tmatr); begin for c:=1 to m do begin for d:=1 to m do write(q[c,d]:3); writeln; end; end; begin clrscr; write('n=');readln(n); for i:=1 to n do for j:=1 to n do a[i,j]:=0; x:=0; y:=1; Add:=n; dir:=1; while (add<>0) do begin i:=0; while (i<>Add) do begin x:=x+dir; a[y,x]:=1; clrscr; Vyvod(n,x,y,a); delay(400); i:=i+1; end; i:=0; Add:=Add-1; while (i<>Add) do begin y:=y+dir; a[y,x]:=1; clrscr; Vyvod(n,x,y,a); delay(400); i:=i+1; end; dir:=dir*(-1); end; readln end.
0
|
Omegga
|
|
25.09.2008, 19:15 | 4 |
спасибо Вам, очень благодарна, спасли, спасли))
|
Почетный модератор
![]() 64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
25.09.2008, 19:21 | 5 |
Но это ведь не соответствует Вашему заданию. Сами переделаете?
Вот код как в задании. Код
uses crt; type Tmatr=array[1..20,1..20]of byte; var a:Tmatr; n,i,j:byte; x,y:byte;{координаты} add:integer;{длина отрезка от поворота до поворота} dir:integer;{шаг = +1 вправо и вниз, -1 влево и вверх} procedure Vyvod(m,c,d:byte;var q:Tmatr); begin for c:=1 to m do begin for d:=1 to m do write(q[c,d]:3); writeln; end; end; begin clrscr; write('n=');readln(n); for i:=1 to n do for j:=1 to n do a[i,j]:=0; x:=0; y:=1; Add:=n; dir:=1; while (add<>0) do begin i:=0; while (i<>Add) do begin x:=x+dir; a[y,x]:=1; i:=i+1; end; Vyvod(n,x,y,a);//вывод и поворот writeln; readln; i:=0; Add:=Add-1; while (i<>Add) do begin y:=y+dir; a[y,x]:=1; i:=i+1; end; Vyvod(n,x,y,a);//вывод и поворот writeln; readln; dir:=dir*(-1); end; end.
0
|
25.09.2008, 19:21 | |
25.09.2008, 19:21 | |
Помогаю со студенческими работами здесь
5
Заполнить матрицу по спирали. Заполнить квадратную матрицу Заполнить квадратную матрицу Заполнить матрицу от центра по спирали: вниз - влево - вверх - вправо Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Отключение отслеживания файла, занесенного в .gitignore в Git
hw_wired 10.02.2025
Git помогает следить за изменениями в проекте, но иногда требуется исключить определенные файлы из системы контроля версий. Это могут быть конфигурационные файлы с локальными настройками, временные. . .
|
Что такое use strict в JavaScript
hw_wired 10.02.2025
Директива use strict - способ перевода JavaScript-кода в строгий режим работы, который делает язык более безопасным и предсказуемым. Она появилась в ECMAScript 5 как ответ на многочисленные проблемы,. . .
|
Как в jQuery проверить, что элемент скрыт
hw_wired 10.02.2025
jQuery предоставляет несколько эффективных способов определить, скрыт элемент или отображается на странице. Самый простой метод использует специальные селекторы :hidden и :visible. Селектор :hidden. . .
|
Как проверить (check out) ветку Git в удаленном репозитории
hw_wired 10.02.2025
Проверка удаленной ветки в Git требует понимания нескольких базовых концепций и точного выполнения определенной последовательности действий. Для начала необходимо получить актуальную информацию о. . .
|
chucknorris в HTML и другие обозначения цветов
hw_wired 10.02.2025
HTML, как основной язык разметки веб-страниц, прошел длинный путь развития в плане работы с цветами. На заре развития веб-технологий разработчики могли использовать только базовый набор из 16. . .
|
Стек и куча: отличия и назначение
hw_wired 10.02.2025
Управление памятью - ключевой элемент работы любой программы. В современных языках программирования память делится на две основные области: стек и кучу. Каждая из них обладает уникальными. . .
|
Комментарии в JSON
hw_wired 10.02.2025
JSON - текстовый формат обмена данными, построенный на основе синтаксиса JavaScript. Этот формат отличается простотой, читаемостью и широкой поддержкой во всех современных языках программирования. . . .
|
Перезаписываем локальные файлы с помощью git pull
hw_wired 10.02.2025
Git pull - незаменимая команда для синхронизации локального репозитория с удаленным. При работе над проектом в команде разработчиков часто возникает необходимость получить актуальные изменения,. . .
|
Оператор --> в C++
hw_wired 10.02.2025
Оператор --> (называемый "spaceship operator" или оператор космического корабля) - важное нововведение в стандарте C++20, упрощающее реализацию операций сравнения в пользовательских типах данных. . . .
|
Отмена git add до коммита
hw_wired 10.02.2025
Git предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
|