Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Вниз

недопонимаю...   Найти похожие ветки 

 
new_user )   (2007-12-18 19:51) [0]

Пишу в паскале программу, нужно просто считать из файла все значения. В файле только целые числа. Делаю так:
program file_1;
uses crt;
var f : file of integer;
a : integer;
ch : char;
s : string;
begin
clrscr;
Writeln("Hello, world!");
s := "f:\uxx\j.txt";
assign(f,s);
reset(f);
while not eof(f) do begin
read(f,a);
writeln(a, " ");
end;
close(f);
readln;
end.


выводит не те числа, что неправильно?
ЗЫ не ругайтесь сильно, только начинаю )


 
Palladin ©   (2007-12-18 19:54) [1]

в случае надежды, что они действительно все integer и каждое значение с новой строки то:

program file_1;
uses crt;
var
 f : file of integer;
 a : integer;
 ch : char;
 s : string;
begin
 clrscr;
 Writeln("Hello, world!");
 s := "f:\uxx\j.txt";
 assign(f,s); reset(f);
 while not eof(f) do
  begin
   readln(f,a);
   write(a, " ");
  end;
 close(f);
 readln;
end.


 
new_user )   (2007-12-18 20:02) [2]

а как быть, если они не каждый с новой строки? допустим указаны через пробел


 
Германн ©   (2007-12-18 20:02) [3]


> new_user )   (18.12.07 19:51)

А что такое по твоему file of integer?


 
new_user )   (2007-12-18 20:07) [4]


> Германн ©   (18.12.07 20:02) [3]
> > new_user )   (18.12.07 19:51) А что такое по твоему file
> of integer?

Файл, содержащий целые числа ) То есть если файл так описан, то каждое число с новой строки?


 
Palladin ©   (2007-12-18 20:12) [5]


> [3] Германн ©   (18.12.07 20:02)

о млин... точно... дас ист пиво...


> [2] new_user )   (18.12.07 20:02)

ну так как бы это...

Var
f:Text;
r,s:String;
nLinesCounter,n,i:Integer;

Function StrToInt(Var s:String;Var n:Integer):Boolean;
Var
c:Integer;
Begin
Val(s,n,c);
StrToInt:=c<>0;
End;

Begin
Assign(f,<ФайлеНэйм>); Reset(f);
nLinesCounter:=0;
While Not Eof(f) Do
 Begin
  nLinesCounter:=nLinesCounter+1;
  ReadLn(f,s);
  r:="";
  For i:=1 to Byte(s[0]) Do
   If s[i]<>" " Then r:=r+s[i] Else
    Begin
     If StrToInt(r,n) Then Write(n," ") Else
      Begin
       WriteLn("Line ",nLinesCounter," Error");
       Halt;
      End;
     r:="";
    End;
 End;
Close(f);
WriteLn;
ReadLn;
End.


 
Германн ©   (2007-12-18 20:13) [6]


> Файл, содержащий целые числа ) То есть если файл так описан,
>  то каждое число с новой строки?
>

Ответ неверный. Строки есть только в текстовых файлах.


 
Palladin ©   (2007-12-18 20:13) [7]


> 4] new_user )   (18.12.07 20:07)

неа... это означает что файл:

1. размер в байтах которого кратен SizeOf(Integer)
2. содержит в native виде целочисленные значения


 
Palladin ©   (2007-12-18 20:27) [8]


> [6] Германн ©   (18.12.07 20:13)

неа...
1. WinOS: строки есть в любом файле, который содержит набор симоволов оканчивающийся на #13#10 (\r\n)
2. *nix: строкой считается любой набор символов, который оканчивается, в зависимости от OS, управляющим символом #13(\r), или управляющим символом #10(\n) (что гораздо чаще встречается), или совокупностью управляющих символов #13#10(\r\n) и, конечно в зависимости от компилятора, по пути к следованию к этим управляющим символам не встречаются другие управляющие символы отличные от выше приведенных

:)


 
new_user )   (2007-12-18 21:07) [9]

спасибо всем )разобрался



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
2-1198256206
Riply
2007-12-21 19:56
2008.01.20
Безопасная загрузка библиотеки.


2-1198010239
Bor
2007-12-18 23:37
2008.01.20
Рисование на Panel


9-1165725158
Архипелаг-ГУЛАГ
2006-12-10 07:32
2008.01.20
Как была создана картинка для демки Archipelago из GLScene ?


15-1197404481
Амплоадо
2007-12-11 23:21
2008.01.20
Delphi не могу Turbo установить


2-1198221288
zdm77
2007-12-21 10:14
2008.01.20
имя вызывающего меню контрола





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский