|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.05.2008, 15:19 | #1 |
Регистрация: 03.04.2008
Сообщений: 8
|
Народ,помоги решить задачку,никак не могу додумать как сделать задачку.....
дан текстовый файл,в нем написаны слова,оканчивающиеся на -онок,-енок, например, утенок, котенок. нужно получить файл,с этими словами во множественном числе на - ата,-ята. (утята,котята) помогите,пожалста,не дойдет до меня как делать.....всем огромное пасибки да,забыла сказать,задача на паскале.... Последний раз редактировалось Stilet; 15.05.2008 в 15:45. |
15.05.2008, 15:21 | #2 |
Дельфист
Форумчанин
Регистрация: 14.08.2007
Сообщений: 317
|
cчас сделаю.ЖДИ!
и в асю обратись
ICQ-465033557
WINDOWS CE THE BEST |
15.05.2008, 15:23 | #3 |
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
находишь в файле слова утята, функция POS. Затем копируешь часть этого слова в новый файл, добавляешь нужное окончание. Опять таки сравниваешь какое из условия if okon='ята' then slovo:='ут'+'енок' else 'кот'+'енок'
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
15.05.2008, 15:24 | #4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 22.01.2008
Сообщений: 161
|
Что конкретно не можете додумать? Алгоритм такой:
1) считываем очередную строчку из файла 2) выделяем из нее слова и записываем их в массив типа string 3) преобразуем полученные слова с помощью функций Delete и Insert 4) выводим строковый массив с измененными словами в тесктовый файл Попытайтесь его реализовать, что-то будет не понятно - спрашивайте |
15.05.2008, 19:02 | #5 |
Регистрация: 03.04.2008
Сообщений: 8
|
вот что у меня получилось......
Program menu; uses CRT, m_sd, m_tip; var n:integer; f, t:text; {sl:array [1..10] of integer;} sl, s:string; i:integer; begin clrscr; writeln ('бЇЁб®Є б«®ў:'); writeln; assign (f,'prav.txt'); reset (f); while not eof (f) do begin readln (f,s); writeln (s); n:=length(s); if copy(s,n-3,4)=['¦','и','й'] then begin sl:=copy (s,n-3,4)+'*в*'; delete(s,n-3,4); s:=s+copy(s,n-3,4)+'*в*' ; if copy(s,n-3,4)=[] then sl:=copy (s,n-3,4)+'пв*'; delete(s,n-3,4); s:=s+copy(s,n-3,4)+'пв*'; end; writeln ('¬*®¦Ґб⢥**®Ґ зЁб«®:'); writeln; writeln(s); readln;end; writeln; {readln;} {n:=length(s); sl:=copy (s,n-3,4)+'*в*'; delete(s,n-3,4); s:=s+copy(s,n-3,4)+'*в*'; writeln ('¬*®¦Ґб⢥**®Ґ зЁб«®:'); writeln; writeln(s); readln;} end. но этот вариант что-то не идет... |
15.05.2008, 19:22 | #6 |
Регистрация: 03.04.2008
Сообщений: 8
|
вот что у меня получилось......
Program menu; uses CRT, m_sd, m_tip; var n:integer; f, t:text; {sl:array [1..10] of integer;} sl, s:string; i:integer; begin clrscr; writeln ('бЇЁб®Є б«®ў:'); writeln; assign (f,'prav.txt'); reset (f); while not eof (f) do begin readln (f,s); writeln (s); n:=length(s); if copy(s,n-3,4)=['¦','и','й'] then begin sl:=copy (s,n-3,4)+'*в*'; delete(s,n-3,4); s:=s+copy(s,n-3,4)+'*в*' ; if copy(s,n-3,4)=[] then sl:=copy (s,n-3,4)+'пв*'; delete(s,n-3,4); s:=s+copy(s,n-3,4)+'пв*'; end; writeln ('¬*®¦Ґб⢥**®Ґ зЁб«®:'); writeln; writeln(s); readln;end; writeln; {readln;} {n:=length(s); sl:=copy (s,n-3,4)+'*в*'; delete(s,n-3,4); s:=s+copy(s,n-3,4)+'*в*'; writeln ('¬*®¦Ґб⢥**®Ґ зЁб«®:'); writeln; writeln(s); readln;} end. но этот вариант что-то не идет... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Номер телефона словами | alexBlack | Софт | 0 | 23.05.2008 09:19 |
Задача | Nil_rus | Помощь студентам | 3 | 15.05.2008 09:05 |
Именовать элементы массива не цифрами, а словами. | Air | Общие вопросы Delphi | 15 | 07.03.2008 18:49 |