IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на файлы
Zlo
сообщение 27.11.2007 21:21
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Переписать из одного файла в другой 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.



Программа работает неправильно, помогите исправить.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 28.11.2007 19:32
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 15:01
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"