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

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

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

Автор: Aracurd 27.12.2007 2:08

Нужно создать программу для поиска и выведения заданной информации из текстового файла
Файл должен состоять с 15 рядов, в каждом ряду должна быть записана такая информ.: Фамилия, год рожд., и 3 числа(всё придуманое) .
и нужно сделать чтоб программа читала дынные с файла, потом выводила считанные данные на экран,потом проводила сортировку и выводила те фамилии у которых год рождения непарный.
Помогите оч прошу...Реально надо очень срочно...пожалуста

Автор: Ozzя 27.12.2007 14:41

Нет проблем. Выкладывай свою версию. Далее поможем. yes2.gif

Автор: Feagor 27.12.2007 23:35

Цитата
те фамилии у которых год рождения непарный.

Как понять непарный? или я туплю...

Автор: Aracurd 27.12.2007 23:41

program rgr2;
uses CRT;
var
fs:text;
x:string[11];
y1:integer;
y2:integer;
y3:integer;
i,j:integer;
begin
clrscr;
assign(fs,'spusok.txt');
reset(fs);
while not eof(fs) do
begin
readln(fs,x,y1);
writeln(x,' ',y1);
end;
writeln('----------------------');
readln;
close(fs);
reset(fs);
while not eof(fs) do begin
readln(fs,x,y1);
if y1=1991 then writeln(x,' ',y1)
else
write;
end;
readln;
close(fs);
end.

Вот моя програма,+ файл к ней (она работаетБ он может ктото может подсказать ещё какойто способ)???


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

Автор: Feagor 27.12.2007 23:47

так на вскидку, пока не понял на счет года рождения

uses crt;
var s:string;
i,j,count:integer;
a:array[1..15,1..255] of char;
begin
assign(input,'d:\1234.dat');
reset(input);
while not eof(input) do
begin
inc(j);
readln(s);
for i:=1 to length(s) do a[j,i]:=s[i];
end;
count:=j;
for j:=1 to count do
begin
writeln;
for i:=1 to 255 do write(a[j,i]);
end;
end.



Добавлено через 6 мин.
x:string[11];
а если фамилия будит больше 11 символов или вместо табуляции разделителем будит пробел?
if y1=1991 then writeln(x,' ',y1)
не понял что эта строка делает