![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Вася |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: ![]() ![]() ![]() |
Пусть задан текст представляющий собой последовательность строк.
Признак конца текста вводится пользователем. Выведите на печать количество каждой содержащихся строке латинских и русских прописных букв в порядке частоты их появления. Я наконец почти сделал задачу так, как этого хотел от меня препод, но с русскими всёравно какие-то проблемы??? Код program Project1; var s: string; i, j, k, n: integer; c, abc: string; mas: array[1..2, 1..59] of string; begin writeln('Start'); Writeln('For the exit program enter the "end."'); writeln; write('Enter the text: '); readln(s); abc:='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; while s <> 'end.' do begin n:= 0; for i:= 1 to length(s) do begin if s[i] in ['A'..'Z'] then begin k:= 1; for j:= i+1 to length(s) do begin if s[i] = s[j] then begin s[j]:= '!'; k:= k+1; end; end; n:= n+1; mas[1, n]:= s[i]; mas[2, n]:= inttostr(k); s[i]:= '!' end; if pos(s[i],abc)>0 then begin k:= 1; for j:= i+1 to length(s) do begin if s[i] = s[j] then begin s[j]:= '!'; k:= k+1; end; end; n:= n+1; mas[1, n]:= s[i]; mas[2, n]:= inttostr(k); s[i]:= '!' end; end; for i:= 1 to n-1 do for j:= i+1 to n do begin if mas[2,i] < mas[2, j] then begin k:= strtoint(mas[2,i]); c:= mas[1,i]; mas[2,i]:= mas[2, j]; mas[1,i]:= mas[1, j]; mas[2, j]:= inttostr(k); mas[1,j]:= c; end; end; for i:= 1 to n do Writeln(mas[1,i], ' - ', mas[2,i]); write('Enter the text: '); readln(s); end; end. |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 10:54 |