![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Вася |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: ![]() ![]() ![]() |
Условие задачи:
Пусть задан текст представляющий собой последовательность строк. Признак конца текста вводится пользователем. Выведите на печать количество каждой содержащейся в строке латинских и русских прописных букв в порядке частоты их появления. А вот и решение: Код program stroki; var s: string; i, k, j: integer; eot: char; procedure read_str (var s: string); begin write('введите строку: '); readln(s); end; procedure poisk (var s: string; var i, k: integer); var j: integer; begin for j:= i+1 to length(s) do if s[j] = s[i] then begin k:= k +1; s[j]:= '!'; end; end; begin SetConsoleCp(1251); SetConsoleOutPutCP(1251); writeln ('введите признак конца текста:'); readln (eot); writeln('введите текст:'); read_str (s); while s <> eot do begin for i:= 1 to length(s) do begin k:= 1; if s[i] in ['A'..'Z'] then begin poisk (s, i, k); writeln(s[i], ' - ', k); end; if (ord(s[i]) in [192..223]) then begin poisk (s, i, k); writeln(s[i], ' - ', k); end; end; read_str (s); end; end. Вопрос: как сделать так, чтобы на печать выводилось количество каждой содержащейся в строке латинских и русских прописных букв в порядке частоты их появления??? Пожалуйста исправьте. |
Артемий |
![]()
Сообщение
#2
|
![]() Помощник капитана ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 601 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
while s <> eot do begin Допустим eot это символ окончания.Получается,что цикл неверен,правильнее было бы while s[i] <> eot do begin -------------------- Dum spiro spero!
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата Получается,что цикл неверен Это почему? Вводится же несколько строк, пока ВСЯ введенная строка не будет состоять из одного символа окончания - цикл продолжается... Как раз здесь все верно...Сообщение отредактировано: volvo - 3.06.2007 19:29 |
Артемий |
![]()
Сообщение
#4
|
![]() Помощник капитана ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 601 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Это да,невнимательно я..
-------------------- Dum spiro spero!
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Вася, можно уточнить, как именно ты хочешь чтобы выводились символы? К примеру, введена строка:
"чтобы правильно задать вопрос, нужно знать большую часть ответа" Что ты хочешь видеть в результате обработки данной строки? |
Вася |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если для ИМЕННО ТАКОЙ строки, то пусть ничего не выводит. А вот если в ней содержались бы ПРОПИСНЫЕ буквы, то я хотел бы, чтобы получалось например так:
Вводим: А В В В В В Ы Ы Ы Ф В этой программе получаем: А - 1 В - 5 Ы - 3 Ф - 1 А надо: А - 1 Ф - 1 Ы - 3 В - 5 То же и для латинских. |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Тогда так:
program stroki;Проверяй, ибо набирал прямо здесь - мог чего-то напортачить... Сообщение отредактировано: volvo - 3.06.2007 22:13 |
Вася |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: ![]() ![]() ![]() |
Отлично! Спасибо. Проверил - вроде работает. Но мне не совсем всё понятно ты не мог бы написать к ней коментарии?
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Комментарии добавлены ...
|
Вася |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо, теперь понятно.
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 5:12 |