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

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

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

 
 Ответить  Открыть новую тему 
> ФАЙЛЫ, непонятно....
сообщение
Сообщение #1


Круто!!!!))))
*

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

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


Я неочень хорошо поняла тему Файлы.... вообщем вотЪ такая вотЪ задачка... я там чет пыталась написать. Вообщем там наверно много неочень разумного...жду ЛЮБЫХ советов и поправок... Пасибки, кто поможет)

Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле q те компоненты файла f, которые являются четными.

const n=30;
Var f,q:text;
a:array[1..n] of integer;
i:integer;
Begin
randomize;
for i:=1 to n do
a[i]:=random(100);
Assign(f,'e:\celie.txt');
rewrite(f);
for i:=1 to n do
writeln(f,a[i]);
close(f);
reset(f);
assign(q,'e:\chetnie.txt');
rewrite(q);
while Not(Eof(f)) do
if a[i] mod 2=0 then writeln(q,a[i]);
close(f);
close(q);
Writeln('vot tak','e:\celie.txt','e:\chetnie.txt');
readln;
end.


--------------------
Времена не выбирают....
В них живут и умирают...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


А тебе можно работать с типизированными файлами?


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


файл последовательного доступа - это текстовый?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Файл последовательного доступа - это практически любой файл. Это понятие относится к организации доступа к устройству, а не к наполнению.

У тебя была ошибка в цикле записи файла четных чисел. Ты не читала файл целых, а писала четные прямо из старого массива (кстати, зачем тебе вообще массив?.. убери его). При этом заканчивала цикл по концу файла, который никогда не заканчивался, раз ты его не читала..
Исправленный вариант:
const
n=30;
Var
f,q:text;
a:array[1..n] of integer;
i:integer;

Begin
randomize;
for i:=1 to n do a[i]:=random(100);
Assign(f,'e:\celie.txt');
rewrite(f);
for i:=1 to n do writeln(f,a[i]);
close(f);
reset(f);
assign(q,'e:\chetnie.txt');
rewrite(q);
while Not(Eof(f)) do begin
ReadLn(f,i);
if not Odd(i) then writeln(q,i)
end;
close(f);
close(q);
Writeln('vot tak: ',' e:\celie.txt ',' e:\chetnie.txt ');
readln;
end.

PS
не забывай про пробелы при выводе результатов smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
Файл последовательного доступа - это практически любой файл.
Грубейшая ошибка!!!

Файл последовательного доступа - ТОЛЬКО текстовый, и никакой другой, ибо только к текстовому файлу неприменим Seek, и для того, чтобы обратиться к символу с №120, надо прочесть все 119, которые идут перед ним... Все остальные (типизированные/бестиповые) файлы имеют фиксированный размер компонента, и позволяют обращаться к любому компоненту напрямую...

P.S. Очень жаль, что приходится перепечатывать FAQ ( Файлы -> "Последовательный и примой доступ" ), да еще и в ответ на заявление админа форума dry.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


volvo,Lapp, не ссорьтесь...
я почему уточнила...
совсем недавно делала лабу - многофазную сортировку слиянием. она вообще-то расчитана на ленты - то есть штуки только с последовательным доступом. сортировались числа, поэтому, чтобы не делать лишний перевод, использовался file of integer. но - никаких seek (это противоречило бы классическому алгоритму).
вот и тут вопрос - то ли речь о том, какой должен быть файл, то ли о том, как с ним работать...
просто формулировка "заполнить файл целыми числами" не совсем точная - если речь именно о текстовом.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(мисс_граффити @ 21.12.2006 12:51) *

volvo,Lapp, не ссорьтесь...

А кто ссорится? smile.gif
volvo, спасибо за напоминание теории - ошибку понял, исправлюсь smile.gif. В следующий раз буду осторожнее в ответах.. Действительно ведь, чушь спорол sad.gif
Танкистка, извини тоже..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Круто!!!!))))
*

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

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


Lapp , пасибки... большие.... smile.gif Ты мне как всегда помог))))) wink.gif
volvo и тебе пасиба!!!!! yes2.gif


--------------------
Времена не выбирают....
В них живут и умирают...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 5:00
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name