Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 17:22   #11
Кулибаба Петро
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 31
По умолчанию

Да................................
Кулибаба Петро вне форума
Старый 04.05.2012, 19:11   #12
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

Код:
{----раздел описания констант----}
const s:string='В лесу родилась ёлочка,в лесу она росла.';  //строка с текстом
      sen=['а','е','ё','и','о','у','ы','э','ю','я'];  //множество глассных букв
{----раздел описания типов----}
type tset=set of char;  //пользовательский тип множества символов 
     tarray=array['а'..'ё'] of integer;  //пользовательский тип целочисленный массив где идентификаторы символы 
{----процедура подсчёта гласных букв----}
procedure count(var aset:tset;var amas:tarray);
{в параметре пустое множество для хранения встречающихся в тексте гласных символов и массив для их подсчёта.
 множество и массив передаются в процедуру через ссылку на переменную}  
var i:byte;  //локальная переменная для цикла
begin
  for i:=1 to length(s) do  //цикл от начала до конца строки
    if s[i] in sen then begin  //если символ строки входит в множество гласных букв то
      aset:=aset+[s[i]];  //в множество sn добавляем этот символ
      inc(amas[s[i]]);  //наращиваем счётчик встречающихся гласных букв
    end;
end;
{----процедура вывода на экран----}
procedure writecount(var aset:tset;var amas:tarray);
{в параметре множество встречающихся гласных букв в тексте и массив хранящий в себе кол-во этих букв} 
var ch:char; //локальная символьная переменная
begin
  for ch:='а' to 'ё' do  //цикл от 'а'до 'ё' согласно стандартной кодировке 'я'=#239;'ё'=#241
    if ch in aset then begin  //если символ входит в множество sn(гласных букв) то 
      write(ch);  //вывести на экран символ(гласную букву)
	  writeln(amas[ch]:4);  //вывести на экран число в массиве т.е кол-во встречающейся буквы в тексте
    end;
end;

var sn:tset;  //множество для хранения встречающихся гласных букв в тексте
    mas:tarray; //массив для подсчёта букв
    ch:char;  //символьная переменная
begin
  sn:=[];  //объявляем пустое множество
  for ch:='а' to 'ё' do mas[ch]:=0; // каждому элементу массива присваиваем 0
    count(sn,mas);  //процедура подсчёта гласных букв в тексте
    writecount(sn,mas);  //процедура вывода на экран результата
  readln  
end.
так пойдёт?
Paster Fob вне форума
Старый 05.05.2012, 18:35   #13
Кулибаба Петро
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 31
По умолчанию

Да.....

Спасиба!!!
Кулибаба Петро вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача про множини nat@ Помощь студентам 2 30.10.2012 00:21
МНОЖИНИ STALKER7538 Паскаль, Turbo Pascal, PascalABC.NET 0 10.10.2010 23:09