Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2015, 18:56   #1
yana1996
Пользователь
 
Регистрация: 02.12.2015
Сообщений: 38
По умолчанию Посимвольная обработка строк

Дано: в текстовом файле box.txt находится текст на русском языке. С клавиатуры вводится число К.
Требуется: написать подпрограмму, которая по заданной строке и символу формирует запись из трех полей. Первое поле – К-ое слово в строке, второе поле - количество гласных букв в этом слове, третье поле - длина этого слова.
Используя эту подпрограмму, сформировать компонентный файл kor.dat, K-ым элементом которого является запись, полученная описанным выше способом из К-ой строки файла box.txt.
Вывести полученный компонентный файл на экран.

помогите пожалуйста

на этой недели сдать надо .....

Последний раз редактировалось Аватар; 02.12.2015 в 20:20.
yana1996 вне форума Ответить с цитированием
Старый 02.12.2015, 19:09   #2
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

Сначала почитай годиков 10 названия других тем, подумай. Потом создавай. Или ты боишься ответов? Так есть вариант ещё лучше: вообще не постить вопроса.
taras-proger вне форума Ответить с цитированием
Старый 02.12.2015, 19:12   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
yana1996
Яна, твои пробы увидеть можно? Хоть что-нибудь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.12.2015, 20:10   #4
yana1996
Пользователь
 
Регистрация: 02.12.2015
Сообщений: 38
По умолчанию

Код:
procedure WordByNum(s:string;n:integer;var ress:string);
var i,k:integer;
begin
i:=1;
k:=1;
while (s[k]=' ')or (k<=Length(s)) do
        inc(k);
while (i<n)and(k<=Length(s)) do
    begin
    while (s[k]<>' ')or (k<=Length(s)) do
        inc(k);
    while (s[k]=' ')or (k<=Length(s)) do
        inc(k);
    if k<=Length(s) then
        inc(i); 
    end;
ress:='';
if k<=Length(s) then
    while (s[k]<>' ')or (k<=Length(s)) do
        begin
        ress:=ress+s[k];
        inc(k);
        end;
end;
Находит слово в строке по номеру

Последний раз редактировалось Аватар; 02.12.2015 в 20:20.
yana1996 вне форума Ответить с цитированием
Старый 02.12.2015, 20:31   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Хорошо. Теперь смотри:
Опиши структуру:
Код:
Type
 TRec=record
   s:string 
   k,len:integer;
 end;
Переменные:
Код:
var f:file of TRec; Rec:TRec; k:integer;s:string;
И цикл:
Код:
 readln(k);
 Assign(f,'File'); Rewrite(f);
 while k>0 do begin
  readln(s);
  WordByNum(s,Rec.k,Rec.s);
  write(f,Rec); 
  dec(k);
 end;
 
 reset(f); while not eof(f) do begin read(f,rec); writeln(Rec.s,Rec.k,rec.len); end;
 close(f);
 readln;
И не забудь добавить в своей процедуре поиск колва гласных.
Код:
if pos(s[i],'уеоаыияю')<>0 then inc(Glas);
Где glas - var параметр, такой же как и var ress
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.12.2015, 20:40   #6
yana1996
Пользователь
 
Регистрация: 02.12.2015
Сообщений: 38
По умолчанию

спасибо большое, все ясно пока что)

f:file of TRec; вылазит ошибка
Typed files cannot contain reference-counted types.

Последний раз редактировалось Stilet; 02.12.2015 в 21:23.
yana1996 вне форума Ответить с цитированием
Старый 02.12.2015, 20:59   #7
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Что не понятно в ошибке?
come-on вне форума Ответить с цитированием
Старый 02.12.2015, 21:00   #8
yana1996
Пользователь
 
Регистрация: 02.12.2015
Сообщений: 38
По умолчанию

как её исправить?
yana1996 вне форума Ответить с цитированием
Старый 02.12.2015, 21:01   #9
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

руками
TRec=record
s:string[xxx]
come-on вне форума Ответить с цитированием
Старый 02.12.2015, 21:24   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Typed files cannot contain reference-counted types.
А у тебя какой паскаль?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СРОЧНО СРОЧНО!!! ВЫРУЧИТЕ!!!! Выборка и перенос данных Stiven_Sammers Microsoft Office Excel 19 20.07.2015 15:39
СРОЧно нужна помощь(одномерный массив)СРОЧНО, МОГУ заплатить. warsong Фриланс 12 11.01.2010 20:30