19.06.2008, 15:33 | #1 (permalink) |
Member
Регистрация: 19.06.2008
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
1.В текстовом файле input.txt записан русский текст. Найти в тексте слова, начинающиеся и оканчивающиеся теми же буквами, что и последнее слово текста, записать их заглавными буквами и указать после каждого такого слова в скобках порядковый номер найденного слова. Полученный текст записать в файл output.txt. Весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания. 2.Дан файл, содержащий русский текст. Найти в тексте N<=2000 слов, содержащих наименьшее количество гласных. Записать найденные слова в текстовый файл в порядке неубывания количества гласных. Для каждого слова вывести также это количество. Все найденные слова должны быть разными! |
19.06.2008, 15:33 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Я думаю, что тут найдется много полезного для вас Помогите решить задачи на C++ Помогите, пожалуйста, решить три задачи по Pascal |
20.06.2008, 11:33 | #2 (permalink) |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
1.В текстовом файле input.txt записан русский текст. Найти в тексте слова, начинающиеся и оканчивающиеся теми же буквами, что и последнее слово текста, записать их заглавными буквами и указать после каждого такого слова в скобках порядковый номер найденного слова. Полученный текст записать в файл output.txt. Весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.
Program P1; Const Name1 = ‘c:\...адресс папки…\input.txt’; Name2 = ‘c:\...адресс папки…\output.txt’; N = 5000; rusB :set of char = [‘А’,’Б’,’В’,’Г’,’Д’,’Е’,’Ё’,’Ж’,’З’,’И’,’К’,’Л’,’М ’,’Н’,’О’,’П’,’Р’,’С’,’Т’,’У’,’Ф’,’Ц’,’Ч’,’Щ’,’Ш’, ’Ь’,’Ы’,’Ъ’,’Э’,’Ю’,’Я’]; russ : set of char = [‘а’,’б’,’в’,’г’,’д’,’е’,’ё’,’ж’,’з’,’и’,’к’,’л’,’м ’,’н’,’о’,’п’,’р’,’с’,’т’,’у’,’ф’,’ц’,’ч’,’щ’,’ш’, ’ь’,’ы’,’ъ’,’э’,’ю’,’я’]; Var Rusin,rusout:text; M:array [1..N] of char; I,k,j,l:integer; Nom,simv:string; Function UpCaseAll(Ch: Char): Char; {Преобразует латинскую или русскую букву Ch к заглавной} begin case Ch of 'a'..'z': UpCase := Chr(ord('A')+ord(Ch)-ord('a')); 'a'..'n': UpCase := Chr(ord('A')+ord(Ch)-ord('a')); 'p'..'я': UpCase := Chr(ord('P')+ord(Ch)-ord('p')); else UpCase:= Ch end end; Begin Assign(rusin,name1); Assign(rusout,name2); {$I-} {Отключаем контроль ошибок ввода-вывода} reset(rusin); {$I+} {Включаем контроль ошибок ввода-вывода} if IOResult <> 0 then writeln(‘Ошибка, файла не существует’); else while not EOF(rusin) and (i <= N) do begin read(rusin ,m[i] ) ; {Записали все символы из файла инпут в массив М} inc(i) end; close(rusin); for j:= I DOWN TO 1 DO IF and (((m[j+1] in rusB)) or ((m[j+1] in russ))) then begin simv:=m[i-1]; break; end; {запомнили последнюю букву} for j:=1 to to I-1 do if ((not(m[j] in rusB)) or (not(m[j] in russ))) and (((m[j+1] in rusB)) or ((m[j+1] in russ))) then begin k:=k+1; if m[j+1] = simv then { преобразуем буквы в заглавные} begin for l:=j+1 to I-1 do begin if ((not(m[l] in rusB)) or (not(m[l] in russ))) then begin str(k,nom); for q:=i+length(nom) downto l do m[q]:=m[q-length(nom)]; for q:=l to l+lentg(mon)-1 do m[q]:=nom[l-q+1]; I:=I+length(nom); break; end; m[l]:=upCaseAll(m[i]); end; end; rewrite(rusout); for j:=2 to I do {записываем все обратно без первого пробела} write(rusout,m[i]); close(rusout); end. |
20.06.2008, 11:35 | #3 (permalink) |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
Значит так
Писалось все в ворде - следовательно мог где то напутать синтаксис Я не очень хорошо помню конкретно эту тему так что могут гдето быть мелкие ошибки - НО они все легко находяться и исправляють при кампилировании Со вторым задание придеться подождать так как щас надо всетаки поработать |
20.06.2008, 14:09 | #4 (permalink) |
Member
Регистрация: 19.06.2008
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Function UpCaseAll(Ch: Char): Char;
{Преобразует латинскую или русскую букву Ch к заглавной} begin case Ch of 'a'..'z': UpCase := Chr(ord('A')+ord(Ch)-ord('a')); 'a'..'n': UpCase := Chr(ord('A')+ord(Ch)-ord('a')); 'p'..'я': UpCase := Chr(ord('P')+ord(Ch)-ord('p')); else UpCase:= Ch end end; отказывается работать что я с ней уже не делала |
20.06.2008, 14:26 | #5 (permalink) |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
где ошибку выбивает?
вставете перед фунцией эту строку: {$Х+} {Включаем расширенный синтаксис} а в конце функции {$Х-} |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
20.06.2008, 14:39 | #9 (permalink) |
Member
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
|
какая версия паскаля? (попробуй убрать {$Х-})
вот еще раз функция Function UpCase(Ch: Char): Char; {Преобразует латинскую или русскую букву Ch к заглавной} begin case Ch of 'a'..'z': UpCase := Chr(ord('A')+ord(Ch)-ord('a')); 'a'..'n': UpCase := Chr(ord('A')+ord(Ch)-ord('a')); 'p'..'я': UpCase := Chr(ord('P')+ord(Ch)-ord('p')); else UpCase:= Ch end end; |
20.06.2008, 14:41 | #10 (permalink) |
Member
Регистрация: 19.06.2008
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
оооо, теперь он пишет
variable "l" mignt have not been inicialized и про k тоже самое |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|