0 / 0 / 0
Регистрация: 27.12.2016
Сообщений: 3
1

Заполнить матрицу по спирали, начинающейся в левом верхнем углу, против часовой стрелки (+ блок схема)

27.12.2016, 17:51. Показов 3900. Ответов 1
Метки нет (Все метки)

Матрицу m x n заполнить натуральными числами от 1 до mn по спирали, начинающейся в левом верхнем углу и закрученной против часовой стрелки. Помогите составить блок схему и программу!!!(abc pascal)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2016, 17:51
Ответы с готовыми решениями:

Заполнить матрицу натуральными числами от 1 до MxN по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке
Помогите написать программки в фортране: Спираль. Матрицу М (m строк, n столбцов) заполнить...

Заполнить матрицу по спирали против часовой стрелки
помогите поменять циклы в коде и сделать такую спираль: 1 32 31 30 29 28 27 26 25 2 33 56 55 54...

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

Заполнить матрицу множеством натуральных чисел по спирали против часовой стрелки
заполнить матрицу NxN множество натуральных чисел по спирали против часовой стрелке по VBA

1
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
27.12.2016, 21:04 2
Лучший ответ Сообщение было отмечено Artem-Arkushin как решение

Решение

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
47
48
49
50
51
52
uses crt;
const nmax=15;
var a:array[1..nmax,1..nmax]of integer;
    m,n,x,y,k,p,z:integer;
begin
clrscr;
repeat
write('Введите количество строк от 2 до ',nmax,' m=');
readln(m);
until m in [2..nmax];
repeat
write('Введите количество столбцов от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
x:=1;
y:=1;
k:=0;
p:=1;
for z:=1 to m*n do
 begin
  a[y,x]:=z;
  case k mod 4 of
  0:begin
    inc(y); //вниз
    if y=m-p+1 then inc(k);//поворот
    end;
  1:begin
    inc(x);//вправо
    if x=n-p+1 then inc(k);//поворот
    end;
  2:begin
    dec(y);//вверх
    if y=p then inc (k);//поворот
    end;
  3:begin
    dec(x); //влево
    if x=p+1 then
     begin
      inc(p);
      inc(k);//поворот
     end;
    end;
  end;
 end;
writeln('p=',p);
for y:=1 to m do
  begin
    for x:=1 to n do
    write(a[y,x]:4);
    writeln;
  end;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2016, 21:04
Помогаю со студенческими работами здесь

Заполнение матрицы по спирали, начинающейся в нижнем левом углу, по часовой стрелке
Матрицу N*N заполнить по часовой стрелке натуральными числами от 1 до N*N по спирали, начинающейся...

Массив: Заполнить квадратную матрицу порядка n, записывая элементы в нее по спирали против часовой стрелки
Составить программу которая заполняет квадратную матрицу порядка n натуральными числами...

Массив A[2*n+1][2*n+1] заполнить по спирали против часовой стрелки, начиная из центра
Можете пожалуйста помочь, я должен решить задачки и вот одна из них: Дано число n. Создайте...

Заполнить двумерный массив цифрами по спирали, против часовой стрелки
Доброго времени суток. Вот задание : Заполнить двумерный массив цифрами по спирали, против...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru