Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2017, 15:12   #1
Danddz
Пользователь
 
Регистрация: 12.11.2017
Сообщений: 14
По умолчанию Ошибка в коде программы.

В файле input содержатся числа. Одно число в строке. Максимальная длина числа - это длина строки в данном формате файла. Надо записать числа в другой файл.

НО:
Если в файле input ввести числа (одно число на одной строке) 1 222 3, то в файле output будут числа 1 222 322, не могу найти ошибку в коде.


Код:
Program Vvod_Vivod;
Type Baula = array[1..255] of integer; Zvonov = array[1..255,1..255] of integer;
var
  k:Baula;
  a:string;
  c:zvonov;
  z,i,m,w,j: integer;
  t:text;
 
procedure ReadNumber(var a:string; var c:Zvonov);
begin
  assign(t,'input.txt');
  reset(t);
  while not seekeof(t) do begin
     For j:=1 to z do begin
        k[j]:=255;
        while not eoln(t) do begin
           read(t,a);
        end;
        For i:=1 to 255 do begin
           if ord(a[i])=0 then
              k[j]:=k[j]-1 end;
        For i:=1 to k[j] do begin
           c[j,i]:=ord(a[i])-48;
        end;
        readln(t); a:='';
     end;
  end;
  close(t);
end;
procedure WriteNumber(var c:Zvonov);
begin
  assign (t,'output.txt');
  rewrite(t);
  for j:= 1 to z do begin
     for i:= 1 to k[j] do begin
        write(t,c[j,i]);
     end;
     writeln(t);
  end;
  writeln(t);
  write(t,z);
  writeln(t);
  write(t,k[3]);
  close(t);
end;
procedure AmountOfNumber;
begin
  z:=0;
  assign(t,'input.txt'); reset(t);
  While not seekeof(t) do begin
    z:=z+1;
    readln(t);
  end;
  close(t);
end;
Begin
  AmountOfNumber;
  ReadNumber(a,c);
  WriteNumber(c);
End.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 13.11.2017 в 10:49.
Danddz вне форума Ответить с цитированием
Старый 13.11.2017, 11:37   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

или Вы что-то упускаете из условия, или одно из двух.
если дан текстовый файл и нужно его переписать построчно в другой текстовый файл, то это делается намного проще:

Код:
var f1,f2:text;
  s : string;
begin
 assign(f1,'input.txt'); reset(f1);
 assign (f2,'output.txt');  rewrite(f2);
 While not eof(f1) do begin
    ReadLn(f1, s);
    WriteLn(f2, s)
  end;
  Close(f1);
  Close(f2)
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в коде программы fkty Общие вопросы C/C++ 8 01.06.2013 23:25
Ошибка в коде программы. Proger16 Помощь студентам 3 14.04.2013 10:59
Ошибка в коде программы. Proger16 Visual C++ 1 14.04.2013 10:45
Ошибка в коде программы VB Мина Помощь студентам 1 02.12.2011 06:54
Ошибка в коде программы eXtrem Помощь студентам 5 09.04.2011 19:34