program load;
uses crt;
var f:text;
x,y:integer;
i,ii:integer;
map:array[1..5,1..5]of integer;
begin
clrscr;
assign(f,'map.txt');
reset(f);
writeln('load start');
{load start}
x:=1;
y:=1;
repeat
if y=5 then
begin
x:=x+1;
y:=1;
end;
readln(f,map[x,y]);
y:=y+1;
until (x=6);
{load end}
writeln('load end');
readln;
close(f);
clrscr;
{draw star}
x:=1;
y:=1;
repeat
if y=5 then
begin
x:=x+1;
y:=1;
end;
gotoxy(x,y);
write(map[x,y]);
y:=y+1;
until (x=6);
{draw end}
readln;
end.
program load;
Код:
файл map.txt
Код:
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
1
1
1
Программа должна нарисовать
Код:
11111
10001
10001
10001
11111
10001
10001
10001
11111
А она рисует совсем левую вещь, в чем проблема:confused:
[COLOR="Red"]Замечание: для оформления кода используем тэги code, а не quote. Также называй нормально темы. Обо всем можно почитать в правилах раздела.[/COLOR]
Код:
program load;
uses crt;
var f:text;
x,y:integer;
i,j,ii:integer;
map:array[1..5,1..5]of integer;
begin
clrscr;
assign(f,'map.txt');
reset(f);
writeln('load start');
{load start}
x:=1;
y:=1;
repeat
readln(f,map[x,y]);
y:=y+1;
if y>5 then
begin
x:=x+1;
y:=1;
end;
until (x>5);
{load end}
writeln('load end');
readln;
close(f);
clrscr;
{draw star}
x:=1;
y:=1;
repeat
gotoxy(x,y);
write(map[x,y]);
y:=y+1;
if y>5 then
begin
x:=x+1;
y:=1;
end;
until (x>5);
{draw end}
readln;
end.
uses crt;
var f:text;
x,y:integer;
i,j,ii:integer;
map:array[1..5,1..5]of integer;
begin
clrscr;
assign(f,'map.txt');
reset(f);
writeln('load start');
{load start}
x:=1;
y:=1;
repeat
readln(f,map[x,y]);
y:=y+1;
if y>5 then
begin
x:=x+1;
y:=1;
end;
until (x>5);
{load end}
writeln('load end');
readln;
close(f);
clrscr;
{draw star}
x:=1;
y:=1;
repeat
gotoxy(x,y);
write(map[x,y]);
y:=y+1;
if y>5 then
begin
x:=x+1;
y:=1;
end;
until (x>5);
{draw end}
readln;
end.
а почему ты не используешь цикл for для считывания и для вывода, все было бы гораздо проще и короче?
Спасибо, YO :)