Составить таблицу слов данного предложения, начинающихся на букву "Ж" // "ж", с указанием числа повторений каждого такого слова. (прогамма считает как большую букву Ж так и маленькую ж) - паскаль АБС
Не могу разобратся с регистром (считает либо Ж или ж ) Может Вы поможете в дополнении программы
program slova; Uses Crt; var stroka, slovo : string; i,k : integer; begin ClrScr; WriteLn('Введите строку '); TextColor(Cyan); ReadLn(stroka); stroka:=stroka + '.'; i:= 1; TextColor(LightGreen); while Length(stroka) <> 0 do begin if pos(copy(stroka,i,1),' ,.?!-:;') <> 0 then begin slovo := copy(stroka,1,i-1); if slovo[1]='ж' then writeln(slovo); delete(stroka,1,i); i := 1;
end else i := i+1; end; end.
Lapp
25.04.2011 15:44
Цитата(artem66rus @ 25.04.2011 12:18)
Составить таблицу слов данного предложения, начинающихся на букву "Ж" // "ж", с указанием числа повторений каждого такого слова. (прогамма считает как большую букву Ж так и маленькую ж) - паскаль АБС
Не могу разобратся с регистром (считает либо Ж или ж ) Может Вы поможете в дополнении программы
program slova; Uses Crt; var stroka, slovo : string; i,k : integer; begin ClrScr; WriteLn('Введите строку '); TextColor(Cyan); ReadLn(stroka); stroka:=stroka + '.'; i:= 1; TextColor(LightGreen); while Length(stroka) <> 0 do begin if pos(copy(stroka,i,1),' ,.?!-:;') <> 0 then begin slovo := copy(stroka,1,i-1); if slovo[1]='ж' then writeln(slovo); delete(stroka,1,i); i := 1;
end else i := i+1; end; end.
Ты работай с множествами. Оно же тут напрашивается..
if slovo[1] in ['Ж','ж'] then ..
А применять Pos для определения является ли символ разделителем - это вообще крайне нецелесообразно.. И copy зачем?? Странно, дальше ты вроде не стесняешься непосредственно брать символ из слова..
if stroka[i] in [' ', ',', '.', '?', '!', '-', ':', ';'] then ...
Но все равно неплохо )). А до частотной таблицы пока дело не дошло?
artem66rus
25.04.2011 15:49
Цитата(Lapp @ 25.04.2011 14:44)
А применять Pos для определения является ли символ разделителем - это вообще крайне нецелесообразно.. И copy зачем?? Странно, дальше ты вроде не стесняешься непосредственно брать символ из слова..
if stroka[i] in [' ', ',', '.', '?', '!', '-', ':', ';'] then ...
Но все равно неплохо )). А до частотной таблицы пока дело не дошло?
частотная таблица - что это?? объясни дураку ))
Цитата(Lapp @ 25.04.2011 14:44)
Pos для определения является ли символ разделителем - это вообще крайне нецелесообразно
А как лучше???
Lapp
25.04.2011 16:19
Цитата(artem66rus @ 25.04.2011 12:49)
частотная таблица - что это?? объясни дураку ))
Это то, что спрашивается в задании )) вывод слов с количеством повторений
Цитата
А как лучше???
Ну я же написал, как.
artem66rus
25.04.2011 16:26
Цитата(Lapp @ 25.04.2011 15:19)
Это то, что спрашивается в задании )) вывод слов с количеством повторений
вот это я и не знаю как сделать! Помогите пожалуйста
про POS до меня дошло, исправил, спасибо!
Lapp
25.04.2011 16:53
Цитата(artem66rus @ 25.04.2011 13:26)
вот это я и не знаю как сделать! Помогите пожалуйста
Заведи массив строк для слов. Все слова на ж склоадывай в него. Новые слова проверяй на совпадение со старыми.
artem66rus
25.04.2011 17:00
Цитата(Lapp @ 25.04.2011 15:53)
Заведи массив строк для слов. Все слова на ж склоадывай в него. Новые слова проверяй на совпадение со старыми.
Так как это когдом написать?????
Lapp
25.04.2011 17:33
Цитата(artem66rus @ 25.04.2011 14:00)
Так как это когдом написать?????
Примерно так же, как ты сделал в параллельной теме ))
Сделай Split пройдись по полученному массиву и выброси слова, начинающиеся не с Ж потом упорядочи массив потом пройдись по нему и считай повторения
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.