Главная страница
    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.057 c
2-1198274701
Angi
2007-12-22 01:05
2008.01.20
Не могу сделать никак


15-1197836618
Berkut
2007-12-16 23:23
2008.01.20
Постановка инженерной задачи по "Дихотомии"/"Хорд"


2-1198141918
SKIPtr
2007-12-20 12:11
2008.01.20
Как узнать об изменении CheckBox


15-1197467874
I
2007-12-12 16:57
2008.01.20
Inno Setup


2-1197969187
rubikos
2007-12-18 12:13
2008.01.20
StrokeAndFillPath





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский