IPB
ЛогинПароль:

> ЧТо не так в коде?
ilua_great
сообщение 30.04.2007 18:34
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской
Реальное имя: Илья

Репутация: -  0  +


Код

program maper;
uses crt;
var f:text;
    x,y:integer;
    map: array[1..10,1..10]of integer;
begin
clrscr;
assign(f,'map');
reset(f);
{load}
writeln('load');
x:=1;
y:=1;
repeat
  read(f,map[x,y]);
  y:=y+1;
  if y>10 then
   begin
   y:=1;
   x:=x+1;
   end;
  until x>10;
writeln('load 100%');
close(f);
{load}
readln;
clrscr;
{draw}
x:=1;
y:=1;
repeat
  gotoxy(x,y);
  write(map[x,y]);
  y:=y+1;
  if y>10 then
   begin
   y:=1;
   x:=x+1;
   end;
  until x>10;
{draw}
readln;
end.


Этот код должен рисовать картинку как в файле
Код

1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 7 7 7 7 7 7 7 7 1
1 1 1 1 1 1 1 1 1 1


Но он рисует её перевёрнуто, в чём проблема? unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 1.05.2007 12:02
Сообщение #2


Гость






Я ж тебе говорю, что индексы X и Y меняются для GotoXY и для Map одинаково, так? У тебя же все обрабатывается в одном цикле. НО... Значения X для GotoXY и для Map - совершенно противоположные...

Пойми, при работе с матрицами первым изменяется самый последний индекс, т.е. сначала ты проходишь по первой строке, и только потом переходишь на вторую, правда? Это достигается изменением в Map[i, j] индекса J быстрее, чем индекса i... Помотри, что у тебя меняется быстрее... Y, не так ли? Переходим теперь к GotoXY... Что означает случай, когда Y меняется быстрее чем X? То, что ты проходишь сначала по первому столбцу, и только потом переходишь ко второму, потому что ОY - это ось вертикальная...

Вот тебе и противоречие...

Хочешь правильной работы - обращайся к Map[Y, X] ...

Сообщение отредактировано: volvo - 1.05.2007 12:03
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 15.07.2025 2:07
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"