Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 20

Заполнение матрицы по спирали (с верхнего левого элемента по часовой стрелке)

14.12.2008, 16:36. Показов 4094. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно расставить элементы матрицы А[n,m] таким образом:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

что т никак не соображу как это сделать...ес поможете, буду благодарна)))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2008, 16:36
Ответы с готовыми решениями:

Заполнение матрицы по спирали (от левого верхнего элемента по часовой стрелке)
Надо заполнить числа спиралью, помогите (чем проще, тем лучше). ПРИМЕР : 1 2 3 4 5 16 17 18 19 6 15 ...

Заполнение матрицы по спирали (из левого верхнего угла по часовой стрелке)
помогите пожалуйста решить задачку по Fortran: Квадратную матрицу В размера m X m образуйте из чисел от 1 до m^2, расположив их по...

Обход матрицы по спирали по часовой стрелке, начиная с левого верхнего угла
Выполнить обход матрицы по спирали по часовой стрелке, начиная с левого верхнего угла. Вывести элементы матрицы в порядке обхода.

11
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.12.2008, 16:58
Вот есть код, не самый оптимальный, но мне кажется понятный. Можно сделать изящнее, но мне кажется труднее понять будет.
Pascal
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
uses crt;
var a:array[1..20,1..20]of integer;//матрица
    n:integer; //размер матрицы
    i,j:integer;//счетчики при движениии по матрице
    x,y:integer;  //координаты ячейки
    num:integer; //число в ячейке (при n=4 от 1до 16)
    add:integer;  //длина отрезка от поворота до поворота
    dir:integer;  //шаг =+1 при движении вправо и вниз, 
                  //=-1 при движении влево и вверх
begin
clrscr;
write('n=');readln(n);
x:=0;
y:=1;
num:=1;
Add:=n;
dir:=1;
while (add<>0) do
begin
  i:=0;
  while (i<>add) do {вправо}
    begin
    x:=x+dir;
    a[y,x]:=num;
    num:=num+1;
    i:=i+1;
    end;
  i:=0;
  add:=add-1;
  while (i<>add) do {вниз}
    begin
    y:=y+dir;
    a[y,x]:=num;
    num:=num+1;
    i:=i+1;
    end;
  dir:=dir*(-1); {меняем знак и тоже самое влево и вверх}
end;
for i:=1 to n do
   begin
     for j:=1 to n do
     write(a[i,j]:4);
     writeln;
   end;
readln
end.
0
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 20
14.12.2008, 22:30  [ТС]
да, все понятно и оказывается просто спасибо))))))
0
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15
16.12.2008, 12:35
помогите плиз! если решу задачу, то получу экзамен автоматом.
у меня похожая задача, как у Альки22, только надо заполнить массив немного по другому:
[1] [2] [6] [7] [15]

[3] [5] [8] [14] [16]

[4] [9] [13] [17] [22]

[10] [12] [18] [21] [23]

[11] [19] [20] [24] [25]

помогите пожалуйста!
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.12.2008, 13:01
Эта задача не похожая и намного сложнее. Если действительно решите сами, то заслуженно получите автомат. Я лично в основном спасаю двоешников.
0
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15
16.12.2008, 13:09
спаси меня))) я её сам никак не решу. я даже не представляю как это делается
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
16.12.2008, 20:53
Возьмусь я за её решение...Ща будем пробовать...

Добавлено через 19 минут 39 секунд
может что и получится...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.12.2008, 21:08
может что и получится...
Если не получится. пиши, скину, только не для этих дутых отличников.
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
16.12.2008, 21:13
Всё сделал... (ктати 999 Кб занимет, стрёмное число)
Code
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Program xa;
var
 a:array[1..100,1..100] of integer;
 i,n,j,k,ch,h:integer;
 p:boolean;
begin
 Writeln('BBedute n');
 Write('n=');
 readln(n);
 a[1,1]:=1;
 a[n,n]:=n*n;
 p:=true;
 ch:=2;
 for i:=2 to n do
 begin
  if p then
  begin
   h:=i;
   p:=false;
   k:=1;
   while h>0 do
   begin
    a[k,h]:=ch;
    dec(h);
    inc(k);
    inc(ch);
   end;
  end
  else
  begin
   h:=1;
   p:=true;
   k:=i;
   while k>0 do
   begin
    a[k,h]:=ch;
    inc(ch);
    inc(h);
    dec(k)
   end;
  end;
 end;
 p:=true;
 for i:=2 to n-1 do
 begin
  if p then
  begin
   h:=n;
   p:=false;
   k:=i;
   while k<n+1 do
   begin
    a[k,h]:=ch;
    dec(h);
    inc(k);
    inc(ch);
   end;
  end
  else
  begin
   p:=true;
   h:=n;
   k:=i;
   while k<n+1 do
   begin
    a[h,k]:=ch;
    inc(ch);
    inc(k);
    dec(h);
   end;
  end;
 end;
 for i:=1 to n do
 begin
  for j:=1 to n do
   Write(a[i,j], ' ');
  Writeln
 end;
 readln
end.
Можно оптимизировать как мне кажется, но это уже сам доделывай...
0
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15
17.12.2008, 03:02
Спасибо большое!! на кол мне её оптимизировать =) так сойдёт. Ты батька паскаля =))
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
17.12.2008, 03:16
Не, до батьки Паскаля мне ещё жить и жить...А так незачто, люблю интересные задания
0
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15
17.12.2008, 03:34
Цитата Сообщение от lexus_ilia Посмотреть сообщение
люблю интересные задания
зайди сюда: Изобразить на экране "движущийся" отрезок, траекторией которого является четырехугольник
это моя последняя задача
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.12.2008, 03:34
Помогаю со студенческими работами здесь

Элементы размещаются по возрастанию по спирали к центру по часовой стрелке начиная от верхнего левого угла матрицы
Элементы размещаются по возрастанию по спирали к центру по часовой стрелке начиная от верхнего левого угла матрицы, используя пузырьковый...

Заполнить массив числами от 1 до n^2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке
Помогите построить задачку на двумерный массив! Заполнить квадратную таблицу размером n*n последовательными целыми числами от 1 до...

Прокрутить четверти матрицы по часовой стрелке, начиная с верхнего левого угла
Задание: дана матрица размерности nxn. Получить новую матрицу, переставляя её блоки(размером (n/2) x (n/2), то есть четверти) по часовой...

Заполнение матрицы по спирали по часовой стрелке
Объясните как решить такую задачу. Сказали можно в два цикла обойтись. Я не понимаю как. Массив двумерный Выглядеть в итоге должно так,...

Заполнение матрицы по спирали (из центра по часовой стрелке)
Пользователь должен ввести размерность матрици!Матрица квадратная!А программа должна заполнить её числами по порядку 1 2 3 4 5 .... (из...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru