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

> ЧТо не так в коде?
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






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

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

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

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

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

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


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

 





- Текстовая версия 10.09.2025 15:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name