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

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

Форум «Всё о Паскале» _ Задачи _ считывание с файла!

Автор: arhimag 3.01.2006 3:05

Помогите найти ошибку, почему в конце стрелочки???

Код
program MapEdit;
uses vesa256, vesatype, crt;
const
edit = 'map.txt';
var           driver, mode, x, y, i,j,a : integer;
              map: array [1..100,1..100] of char;
              karta:text;
              probel:string;
              tekstura: char;

procedure readng(level: string);
var i, j, n, m : integer;
begin
     assign(karta,level);
     reset(karta);
     For i:=  1 to 100 do for j:= 1 to 100 do  begin
     if (j = 1) and (i<>1) then begin
     readln(karta,tekstura);
     map[j,i]:=tekstura;
     end
     else
     begin
     read(karta, tekstura);
     map[j,i]:=tekstura;
     end;
     end;
     close(karta);
end;

begin
     readng(edit);
     for i:= 1 to 100 do for j:= 1 to 100 do if j=1 then begin writeln(map[j,i]); readln; end else
     write(map[j,i]);
     readln;
end.



Прикрепленные файлы
Прикрепленный файл  map.txt ( 9.86 килобайт ) Кол-во скачиваний: 302

Автор: volvo 3.01.2006 3:29

Вообще-то при работе с файлами желательно использовать While {Seek}Eof(f) чтобы прочитать столько значений, сколько есть в файле...

Ну, а во-вторых, ты просто неправильно читаешь данные из файла... Вот так - никаких "стрелочек" не будет:

procedure readng(level: string);
var i, j, n, m : integer;
begin
assign(karta,level);
reset(karta);
For i:= 1 to 100 do
for j:= 1 to 100 do
begin
if (j=100) then begin
readln(karta,tekstura);
map[j,i]:=tekstura;
end
else begin
read(karta, tekstura);
map[j,i]:=tekstura;
end;
end;
close(karta);
end;

Автор: K Y S K A 12.01.2006 1:50

Volvo'чка не мог ли ты выложить весь текст программы, а то у меня все равно в TP7 стрелочки появляются sad.gif
Если кто стесьняется вставлять свой кодд, то не надо этого делать, мне просто надо сделать похожую программку, и тоже какието стрелочки вылезают!!! Помогите!!! Пожалуйста!!!!!!!

Автор: volvo 12.01.2006 1:54

Цитата
мне просто надо сделать похожую программку, и тоже какието стрелочки вылезают!!!
Приведи свой код - универсального рецепта нету, в каждом случае делается по-разному... Надо смотреть, что у тебя за проблема, и только тогда ее можно будет решить...

Автор: K Y S K A 12.01.2006 2:20

Volvo ты не мог ли мне просто предьявить ту програмку, просто эта у меня только в тренировочных вариантах с форума и алгоритмах!

Автор: volvo 12.01.2006 2:22

Программа - та же самая, я только поменял процедуру:

program MapEdit;
uses
vesa256, vesatype, crt;
const
edit = 'map.txt';
var
driver, mode, x, y, i,j,a : integer;
map: array [1..100, 1..100] of char;
karta:text;
probel:string;
tekstura: char;

procedure readng(level: string);
var i, j, n, m : integer;
begin
assign(karta,level);
reset(karta);
For i:= 1 to 100 do
for j:= 1 to 100 do
begin
if (j=100) then begin
readln(karta,tekstura);
map[j,i]:=tekstura;
end
else begin
read(karta, tekstura);
map[j,i]:=tekstura;
end;
end;
close(karta);
end;

begin
readng(edit);
for i:= 1 to 100 do
for j:= 1 to 100 do
if j=1 then begin
writeln(map[j,i]); readln;
end
else write(map[j,i]);
readln;
end.

Автор: K Y S K A 12.01.2006 2:25

ну я без весы тестирую, но ты до конца её до кручивал???
там точно стрелочки появляются!

Автор: volvo 12.01.2006 2:38

K Y S K A,
если я сказал, что тестировал, значит - тестировал. Не тебе меня учить проверять правильность программы !! mad.gif

Автор: Студентик13 12.01.2006 2:40

Стрелочки появляются ради интереса проверил

Автор: volvo 12.01.2006 2:44

Правда? Ну, тогда присоедините ОБА скриншоты с рабочего стола, где видны эти стрелочки... Я хочу САМ увидеть их... В особенности это относится к тебе, Студентик13... Ты б свои проблемы решал...

Свой скрин присоединю через минуту...

Автор: Студентик13 12.01.2006 2:49

Удаляюсь решать свои проблемищи mega_chok.gif mega_chok.gif

Автор: K Y S K A 12.01.2006 2:57

вот


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: volvo 12.01.2006 3:12

Ну, а у меня - вот:


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Студентик13 12.01.2006 3:19

У меня совсем по другому mad.gif пора комп выкидывать ато от перепрошивок черт знай что dry.gif



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: FIAT 12.01.2006 6:42

Вот корректное чтение:

program MapEdit;
const
edit = 'map.txt';
var
driver, mode, x, y, i,j,a : integer;
map: array [1..100, 1..100] of char;
karta:text;
probel:string;
tekstura: char;

procedure readng(level: string);
var i, j, n, m : integer;
begin
assign(karta,level);
reset(karta);
For i:=1 to 100 do begin

for j:= 1 to 99 do begin
read(karta,tekstura);
map[i, j]:=tekstura;
end;
readln(karta)
end;
close(karta);
end;

begin
readng(edit);
for i:= 1 to 100 do begin
for j:= 1 to 99 do
write(map[i, j]);
writeln;
end;
end.

Просто в файле 100 строк по 99 символов, а делается попытка читать 100 по 100 символов. Отсюда и проблема...