Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите решить, я что-то туплю
Форум «Всё о Паскале» > 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(c);
           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(c);
           a[c]:=a[c]+1
   end;

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

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