Главная страница
    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.083 c
3-1189603544
alsov
2007-09-12 17:25
2008.01.20
fastreport dbcross запрос>500000строк


2-1198240068
Washington
2007-12-21 15:27
2008.01.20
CheckBoxOnClick


15-1197727186
turbouser
2007-12-15 16:59
2008.01.20
Хоккей


1-1192976166
Farel
2007-10-21 18:16
2008.01.20
Blob поля


15-1197647031
Kerk
2007-12-14 18:43
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский