Omegga
1

Заполнить квадратную матрицу единицами по спирали

24.09.2008, 21:40. Показов 3396. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить, пожалуйста!!!

Заполнить квадратную матрицу NxN единицами ('1') по спирали (начиная с
элемента с координатами (1,1) по часовой стрелке. N ввести с клавиатуры
(1 <= N <= 10). Распечатывать матрицу после каждого изменения направления
заполнения.
24.09.2008, 21:40
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2008, 21:40
Ответы с готовыми решениями:

Заполнить квадратную матрицу натуральными числами по спирали
составить программу,которая заполняет квадратную матрицу порядка n нутуральными числами 1,2,3,...n,записывая их в нее &quot;по...

Получить квадратную матрицу с единицами на диагоналях
народ помогите тут двумерные массивы я их не оч понимаю кк решить Получить квадратную матрицу порядка n: 1 0 0 ... 0 1 0 1 0 ......

Заполнить матрицу по спирали.
http://************.com/files/4x9alup5f вот ссылка на рисунок по которому заполняется матрица!!! ПАЖАЛУСТО ОЧ НУЖНО САМ НУ НЕ КАК НЕ МОГУ...

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
Почетный модератор
 Аватар для Puporev
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
спасибо Вам, очень благодарна, спасли, спасли))
Почетный модератор
 Аватар для Puporev
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2008, 19:21
Помогаю со студенческими работами здесь

Заполнить матрицу n на n по спирали
Задание : Заполнить матрицу n на n следующим образом (пустые клетки заполняются 0) Не могу додумать код. Знающие люди...

Заполнить матрицу по спирали.
Добрый вечер. Нужно составить массив 7х7 из чисел от 1 до 49, вот такой. 1 2 3 4 5 6 7 24 25 26 27 28 29 8 23 40 41 42 43 30 9 ...

Заполнить квадратную матрицу
Заполнить квадратную матрицу

Заполнить квадратную матрицу
Помогите с заданием! надо заполнить квадратную матрицу пример: 1 2 3 8 9 4 7 6 5

Заполнить матрицу от центра по спирали: вниз - влево - вверх - вправо
Заполнить матрицу ЛП, от центра по спирали: вниз - влево - вверх - вправо.


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

Или воспользуйтесь поиском по форуму:
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 предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru