Помощь - Поиск - Пользователи - Календарь
Полная версия: Паскаль файловые переменные
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
киб
1. Дан файл f, компонентами которого являются вещественные числа. Записать в файле g менее всего из значений компонент с непарными номерами файла f.
2. Дано число к и текстовый файл. Уничтожить из файла строку с номером к (строки нумеруются от 0). Если строки с таким номером нет, то оставить файл без изменений.
3. Дан текстовый файл f, каждое слово которого видокремлено от других символом пробела. Записать в файле g, в алфавитном порядке, все слова длиной у n символов.
Ozzя
2. http://pascal.sources.ru/faq/insstr.htm
Ozzя
Взять функцию GetWords
Строки
Читать строку из файла, разбивать на слова, записывать только те, длина которых n.
Алгоритмы сортировки есть в ЧАВО.
Ozzя
Цитата
Записать в файле g менее всего из значений компонент с непарными номерами файла f.

Вот эту фразу нужно бы повторить по-русски.
Гость
это так задача звучить, завдание на лабораторну
Ozzя
Цитата
это так задача звучить, завдание на лабораторну

Я понял. Но не все понимают по -украински. Непарные - это нечетные?
Цитата
менее всего

Вот это что означает?
Гость
1. Дано файл f, компонентами якого є дійсні числа. Записати у файлі g найменше із значень компонент із непарними номерами файла f.

Program z1;
var
f:file of real;
p,n,n1:string;
x,m:real;
i:integer;
begin
writeln('Введіть шлях до файлу');
read(p);
writeln('Введіть ім"я вхідного файлу');
read(n);
writeln('Введіть ім"я вихідного файлу');
read(n1);
assign(f,p+'\'+n);
i:=1;
read(f,m);
while not eof(f) do
begin
read(f,x);
i:=i*(-1);
if i=1 then
begin
if x<m then m:=x;
;
end;
end;
close(f);
assign(f,p+'\'+n1);
write(f,m);
close(f);
end.

Посмотри пожалуйста, вот что-то делал, но нимогу понят почему не вводиться путь к файлу!
Гость
а во второй вроде все правильно, но не вводиться K, может я что-то нитак делаю?
Program z2;
var
k,i:integer;
f,f1:text;
p,n:string;
begin
writeln('Введіть значення k');
read(k);
writeln('Введіть шлях до файлу');
read(p);
writeln('Введіть ім"я файлу');
read(n);
assign(f,p+'\'+n);
reset(f);
assign(f1,p+'\tmp.tmp');
rewrite(f1);
i:=0
while not eof(f) do
begin
readln (f);
if k<>i then writeln(f1);
i:=i+1;
end;
close(f);
close(f1);
assign(f,p+'\'+n);
erase(f);
assign(f1,p+'\tmp.tmp');
rename(f1,p+'\'+n);
close(f1);
end.
Ozzя
Цитата(Гость @ 5.05.2010 18:49) *

Посмотри пожалуйста, вот что-то делал, но нимогу понят почему не вводиться путь к файлу!


...
begin
writeln('Введ?ть шлях до файлу');
readln(p);
writeln('Введ?ть ?м"я вх?дного файлу');
readln(n);
writeln('Введ?ть ?м"я вих?дного файлу');
readln(n1);
writeln(p+'\'+n); {отладка}
assign(f,p+'\'+n);
...

Строки вводятся readln, а не read.
Ozzя
Цитата(Гость @ 5.05.2010 18:50) *

но не вводиться K, может я что-то нитак делаю?

ReadLn(k);
Гость
Спасибо компилюеться, но ввожу данные и возникает ошибка!(
Может я данные не правильно ввожу?
Ozzя
Цитата
но ввожу данные и возникает ошибка!(
Может я данные не правильно ввожу?

В которой программе? Какие данные?
Файл с данными прилепи.
Гость
1 задача
как я понимаю, мне нужно создать файл(я создаю на диску D) имя файла 1.txt там записал цыфры(5 4 6 2 5 4 5 5 8)

нужно ввести путь:
d:\
имя 1 файла
1.txt
имя 2 файла
2.txt

и потом ошибка
Ozzя
Неверно. У тебя получается текстовый файл. А тебе нужно "файл f, компонентами которого являются вещественные числа". Файл тоже нужно заполнить программно.
volvo
Цитата
нужно ввести путь:
d:\
Не совсем... К пути и так добавляется слэш, а если слэш вводится пользователем - то путь становится неправильным, соответственно программа вылетает с ошибкой "Файл не найден". Вводить путь надо так:

нужно ввести путь:
d:
Гость
всеровно выдаеться ошибка, может тип даных не такой как надо стоит?
Ozzя
blink.gif
Цитата
всеровно выдаеться ошибка, может тип даных не такой как надо стоит?

Цитата
"файл f, компонентами которого являются вещественные числа". Файл тоже нужно заполнить программно.

Ты ответы-то читаешь?
Гость
извини не заметил
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.