Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ задача на матрицу

Автор: trew 18.05.2008 17:37

дадо сомтавить прогу чтобы была следующего вида
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
............................................
............................................
.............................................
91 92 93 94 95 96 97 98 99 100

Автор: trew 18.05.2008 20:58

помогите кто нибудь

Автор: Айра 18.05.2008 21:56

А что именно у тебя вызывает затруднения?
Выкладывай, что пытался делать..

Автор: trew 18.05.2008 22:09


program spirall;
uses crt;
const Size=10;
k=1; {"пустая ячейка" содержит значение k}
var mas:array[1..size,1..10]of shortint;
i,j,a:integer;

function freemas(i,j: shortint): boolean;
begin
if (i<1) or (i>size) or (j<1) or (j>size)
then freemas:=false
else freemas:=(mas[i,j]=i-1);
end;

procedure draw; {печать массива}
begin
writeln;
for i:=1 to size do begin
for j:=1 to size do write(mas[i,j]:2,'|');
writeln;
end;
end;

begin
for i:=1 to 100 do

for j:=1 to 100 do mas[i,j]:=j; {заполнение массива "пустыми ячейками"}


for a:=1 to sqr(size)-1 do
begin
if (freemas(i-1,j)) and (not freemas(i,j)) then begin dec(j); mas[i,j]:=a+1; end else
if freemas(i,j+1) then begin inc(j); mas[i,j]:=a+1; end else
if freemas(i+1,j) then begin inc(j); mas[i,j]:=a+1; end else
if freemas(i,j-1) then begin dec(j); mas[i,j]:=a+1; end else
continue;
end;

draw;
end.

.

Автор: mind abuse 18.05.2008 23:16

Ну всё гораздо проще = )

Код
Program t1;
uses
crt;
var
  a:array[1..100,1..100] of integer;
  i,j:integer;

begin
clrscr;

for i:=2 to 10 do
for j:=1 to 10 do
begin
a[1,j]:=j;
a[i,j]:=a[i-1,j]+10;

end;

for i:=1 to 10 do
begin

writeln;
for j:=1 to 10 do

write(a[i,j]:5);

end;
readln;
end.