![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Rom1k |
![]()
Сообщение
#21
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Строка символов представляет собой предложение,написанное на русском языке.Предложение имеет длину не более 100 символов и заканчивается точкой.Подсчитать количество различных букв,которые входят в это предложение.
Вот есть подобная задача.только с повторением слов.Что там надо исправить,чтобы всё работало? помогите.Со строками у меня проблемы( program k_3;
var
a:array [1..20] of string;{массив слов}
b:array [1..20] of byte;{Массив счетчиков появления слов}
r,i,j,k:byte;
st,st1:string;
Begin
WriteLn('Введите строку слов');
ReadLn(st);
k:=0;{индекс для перемещения по массиву слов и массиву счётчиков}
r:=1;
while r<= length(st) do
begin
while(st[r]='') and (i<=length(st)) do
r:=r+1;
j:=r; {Левая граница слова}
while (st[r]<>'') and (r<=length(st)) do
r:=r+1; {Правая граница слова}
st1:=copy(st,j,r-j);
{Поиск слова в массиве слов - а}
i:=1;
while (i<=20) and (a[i]<>st1) do
i:=i+1;
{Анализируем значение индекса i}
if i>20 then
begin
k:=k+1;
b[k]:=b[k]+1;
a[k]:=st1;
end
else
b[i]:=b[i]+1;
end;
WriteLn('В массиве (а) ',k,' различных слов ');
writeln('Частота появления каждого слова ');
for i:=1 to k do
writeln(a[i],' ',b[i]);
END.
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 5:43 |