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

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

Форум «Всё о Паскале» _ Задачи _ Задача на файлы

Автор: Zlo 28.11.2007 1:21

Переписать из одного файла в другой N первых наибольших простых чисел


program fileprost;
var f1,f2:file of integer;
n:integer; file1,file2:string;
otvet:char;

procedure vvod(file1:string);
var n:integer; f:file of integer;
begin assign(f,'file1.txt');
rewrite(f); repeat write('vvod chisl');
readln(n);
if n<>0 then write(f,n) until n=0;
end;

procedure vyvod(file2:string);
var n:integer; f:file of integer;
begin assign(f,'file2.txt'); reset(f);
while not eof(f) do begin
read(f,n);
writeln('n=',n); end;
end;

function prostoe(x:integer):boolean;
var d:integer;
begin
prostoe:=true;
for d:=2 to x-1 do if x mod d=0 then prostoe:=false;
end;

begin
write('name vxodnogo file'); readln(file1);
write('name vyxodnogo file'); readln(file2);
assign(f1,'file1.txt');assign(f2,'file2.txt');
write('zapolnit vxodnoy file(y/n)'); readln(otvet);
if otvet='y' then vvod(file1); reset(f1); rewrite(f2);
while not eof(f1) do begin read(f1,n);
if prostoe(n) then write(f2,n); end;
vyvod(file2);
close(f1);close(f2);
end.



Программа работает неправильно, помогите исправить.

Автор: klem4 28.11.2007 23:32

Ну во первых ты явно не учитываешь условие

Цитата
первых наибольших


так что алгоритм немного не такой ... да и проверка на "простое" у тебя странноватая, воспользуйся поиском.