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

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

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

> типизированные файлы, замена буквы на заглавную
сообщение
Сообщение #1


Новичок
*

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

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


Есть такая задачка:
Создать типизированный файл , компоненты отдельные слова.
Отредактировать файл - если слово начинается с буква "к", заменить ее на букву "К".
я тут что - то написала, но замены не происходит, может кто-нибудь найдет ошибку.

const n=20;
var
F,F1:file of char;
i:integer;
c:char;
BEGIN
assign(F,'C:/z25.dat');rewrite(F);
for i:=1 to n do
begin
read©; write(F,c);
end;
close(F); reset(F);
assign(F1,'C:/z25_1.dat');rewrite(F1);
for i:=1 to n-1 do
begin
read(F,c);
if c='' then begin seek(F,i+1); write(F,c);
if c='k' then c:='K'; end;
write(F1,c); seek(F,i);
end;
close(F1); reset(F1);
for i:=1 to n do
begin
read(F1,c); write ( c ) ;
end;
END.



теги CODE - не html а bb коды, они пишутся в квадратных скобках.
Altair


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






natka, смотри, есть несколько недочетов в программе:
1) ты привязалась к конкретному числу компонентов. Для файла это не совсем верно - с файлом надо работать, пока он не закончился.
2)
Цитата
на этапе чтения данных из файла выдается - Типовая ошибка.
- потому что тип string[20]
var
F, F1: file of string[20]; { <-- Здесь... }
i: integer;
c: string[20]; { <-- ... и здесь }
для компилятора не имеет ничего общего!!! Я не зря выделил это в отдельное описание типа, это очень распространенная ошибка, и избежать ее можно ЛИБО используя встроенный тип string (без объявления длинны), ЛИБО определяя свой тип, и работая только с ним...

Вот рабочий вариант программы (только исправь пути к файлам...)
type
T = string[20];

var
f, f1: file of T;
s: T;

BEGIN
assign(F,'z25.dat'); rewrite(F);
repeat
readln(s);
if s <> '' then write(F, s);
until s = '';

reset(F);
assign(F1,'z25_1.dat'); rewrite(F1);
while not eof(f) do begin
read(F, s);
if s[1] = 'k' then s[1] := 'K';
write(F1, s);
end;
reset(F1);
while not eof(f1) do begin
read(F1, s); write(s, ' ');
end;
close(f); close(f1);
END.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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