Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите решить, я что-то туплю
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Диман-
Для каждого символа заданного текста указать, сколько раз он встречается(выводить не более 1-го раза) буду очень благодарен!!! yes2.gif
Client
uses crt;
var
a:array['a'..'z'] of integer;
c:char;
begin
clrscr;
writeln(' Vvedite simvoli ');
repeat
read©;
a[c]:=a[c]+1;
until eoln(input);
for c:='a' to 'z' do
begin
write(' ',c,' = ',a[c]);
end;
readkey
end.

Так пойдет?
TORETO
Желательно без ввода массива, у нас препод вредный, боюсь ему такой способ не понравится, но все равно ОГРОМНОЕ СПАСИБО good.gif

Добавлено через 9 мин.
А можно так, чтобы выводились значения только тех символов, которые есть.И не использовать eoln(input)-мы такую функцию не учили. Я думаю нужно использовать цикл For, оператор ord или что-то в этом духе.

Добавлено через 13 мин.
TORETO-это тоже я Диман, просто зарегестрировался
Client
Цитата
А можно так, чтобы выводились значения только тех символов, которые есть.

при выоде добавь условие, оно будет таким
for c:='a' to 'z' do
if a[c]>0 then
write(' ',c,' = ',a[c]);

Цитата
И не использовать eoln(input)-мы такую функцию не учили. Я думаю нужно использовать цикл For, оператор ord или что-то в этом духе.

For i:= 1 to n do
begin
read©;
a[c]:=a[c]+1
end;

Где n это заранее указанное число символов
Без массива тоже можно, но я напрочь забыл как сделать(

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.