Другие языки программирования и технологии
ПОМОГИТЕ! В паскале заполнить квадратный массив размерностью n числами 1,2,3… по спирали от края к центру по часовой стр
стрелке.
Uses CRT;
Var C: array[1..21, 1..21] of integer;
a, b, d, e, n, i, j, x: integer;
Begin
clrscr;
writeln('Введите размерность квадратного массива '); readln(n);
writeln;
d:=1; x:=1; a:=1; b:=n; e:=n div 2;
while i<=e do
begin
i:=a; for j:=a to b do
begin C[i,j]:=x; x:=x+1 end;
j:=b; for i:=a+1 to b-1 do
begin C[i,j]:=x; x:=x+1 end;
i:=b; for j:=b downto a do
begin C[i,j]:=x; x:=x+1 end;
j:=a; for i:=b-1 downto a+1 do
begin C[i,j]:=x; x:=x+1 end;
a:=a+1; b:=b-1; d:=d+1;
end;
if n=2*e then C[a,b]:=x-1 else C[a,b]:=x;
for i:=1 to n do
begin
for j:=1 to n do write(C[i,j]:4);
writeln
end;
End.
Var C: array[1..21, 1..21] of integer;
a, b, d, e, n, i, j, x: integer;
Begin
clrscr;
writeln('Введите размерность квадратного массива '); readln(n);
writeln;
d:=1; x:=1; a:=1; b:=n; e:=n div 2;
while i<=e do
begin
i:=a; for j:=a to b do
begin C[i,j]:=x; x:=x+1 end;
j:=b; for i:=a+1 to b-1 do
begin C[i,j]:=x; x:=x+1 end;
i:=b; for j:=b downto a do
begin C[i,j]:=x; x:=x+1 end;
j:=a; for i:=b-1 downto a+1 do
begin C[i,j]:=x; x:=x+1 end;
a:=a+1; b:=b-1; d:=d+1;
end;
if n=2*e then C[a,b]:=x-1 else C[a,b]:=x;
for i:=1 to n do
begin
for j:=1 to n do write(C[i,j]:4);
writeln
end;
End.
хм.. . интересная задачка.. .
а сама чего ?
пробуй
а сама чего ?
пробуй
var i,j,l,k,p,m,n,r:integer; a:array[1..20,1..20]of integer;
begin
write('Size: '); readln(r);
n:=1; k:=r; m:=r; l:=1; p:=1;
while n<=r*r do
begin for j:=l to k do begin if j=l then i:=j; a[ i,j]:=n; inc(n); end;
j:=k; dec(k); inc(p); for i:=p to m do begin a[ i,j]:=n; inc(n); end;
i:=m; dec(m); for j:=k downto l do begin a[ i,j]:=n; inc(n); end;
j:=l; inc(l); for i:=m downto p do begin a[ i,j]:=n; inc(n); end;
end;
for i:=1 to r do begin for j:=1 to r do write(a[i,j]:4); writeln; end; readln
end.
begin
write('Size: '); readln(r);
n:=1; k:=r; m:=r; l:=1; p:=1;
while n<=r*r do
begin for j:=l to k do begin if j=l then i:=j; a[ i,j]:=n; inc(n); end;
j:=k; dec(k); inc(p); for i:=p to m do begin a[ i,j]:=n; inc(n); end;
i:=m; dec(m); for j:=k downto l do begin a[ i,j]:=n; inc(n); end;
j:=l; inc(l); for i:=m downto p do begin a[ i,j]:=n; inc(n); end;
end;
for i:=1 to r do begin for j:=1 to r do write(a[i,j]:4); writeln; end; readln
end.
я когда-то формулу выводил...
Похожие вопросы
- Дан целочисленный двумерный массив, размерности n х m. Заменить все отрицательные числа нулем
- 2. Отсортировать массив из n чисел и подсчитать количество уникальных чисел в массиве. на паскале
- пожалуйста, напишите мне программу этого вопроса в C ++.пожалуйста помогите. Создать динамический массив из N чисел.
- Вычислить произведение n>=2 (n четное) сомножителей y=(2/1)*(2/3)*(4/3)*(4/5)*(6/5)*(6/7)*..
- Сколько чисел надо взять в последовательности 1+2+3+4...,чтобы получить число,больше чем N?
- . Дан массив из N чисел. Поменять местами элементы, равноудаленные от произвольно задаваемого К-го элемента.
- ПОМОГИТЕ! Нужны числа от 1 до 1 000 000 в таком порядке:. 1 2 3 4 5 6 7
- Напишите программу!!! Разработать процедуру для вычисления чисел Фибаначи(1+2+3+5+8+13...)
- Помогите с паскалем! Как значение массива в 1000 элементов перенести в файл?
- как делаеться сортировка данных по страницам. Типа стр 1 2 3 4 5...