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

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

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

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

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

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

Заданий текст, кінець якого крапка. Вивести за алфавітом усі голосні, що входять у цей текст, і кількість повторень кожної літери.
Кулибаба Петро вне форума
Старый 23.04.2012, 19:42   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ну задача не очень сложная. Есть только одно но, укр. языка на паскале насколько помню нет. И тут есть три варианта или суржик рус. и англ. что уже отпадает. Так что или чисто на русском или на англ. делать.
И кстати, если дан текст, то где он? хотелось бы глянуть ...
Люблю на ты.Я человек простой
Leshii вне форума
Старый 23.04.2012, 20:17   #3
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от Кулибаба Петро Посмотреть сообщение
Заданий текст, кінець якого крапка. Вивести за алфавітом усі голосні, що входять у цей текст, і кількість повторень кожної літери.
google: "Заданный текст, конец которого точка. Вывести по алфавиту все гласные, входящие в этот текст, и количество повторений каждой буквы."
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума
Старый 23.04.2012, 23:36   #4
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

так примерно,текст только надо заменить и при необходимости буквы на английские например.
Код:
const s='В лесу родилась ёлочка,в лесу она росла.';
      sen=['а','е','ё','и','о','у','ы','э','ю','я'];

type tset=set of char;
     tarray=array['а'..'ё'] of integer;

procedure readset(var aset:tset);
var i:byte;
begin
  for i:=1 to length(s) do
    aset:=aset+[s[i]];
    aset:=aset*sen;
end;

procedure count(var aset:tset;var amas:tarray);
var i:byte;
begin
  for i:=1 to length(s) do
    if (s[i] in aset) and (s[i] in ['а'..'ё']) then
      inc(amas[s[i]]);
end;

procedure writecount(var aset:tset;var amas:tarray);
var ch:char;
begin
  for ch:='а' to 'ё' do
    if (ch in aset) and (ch in ['а'..'ё']) then begin
      write(ch);
      writeln(amas[ch]:4);
    end;
end;

var sn:tset;
    mas:tarray;
    ch:char;
begin
  sn:=[];
  for ch:='а' to 'ё' do mas[ch]:=0;
  readset(sn);
  count(sn,mas);
  writecount(sn,mas);
  readln
end.

Последний раз редактировалось Paster Fob; 24.04.2012 в 20:46.
Paster Fob вне форума
Старый 24.04.2012, 19:14   #5
Кулибаба Петро
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 31
По умолчанию

aset:=aset+[s[i]]
s[i] - ошибочный спецификатор
Кулибаба Петро вне форума
Старый 24.04.2012, 19:27   #6
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

Цитата:
Сообщение от Кулибаба Петро Посмотреть сообщение
aset:=aset+[s[i]]
s[i] - ошибочный спецификатор
всмысле какая ошибка?У меня всё работает.Запускал на FPС.


TP7 выдаёт указанную ошибку.

Последний раз редактировалось Stilet; 04.05.2012 в 19:33.
Paster Fob вне форума
Старый 25.04.2012, 01:19   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
const
  sen = ['А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я'];

var
  s: string;

function upcaser(c: char): char;
begin
  case ord(c) of
    160..175: upcaser := chr(ord(c) - 32);
    224..239: upcaser := chr(ord(c) - 80);
    241: upcaser := chr(240);
  else upcaser := upcase(c);
  end;
end;

var
  mas: array[0..255] of integer;
  c: char;

begin
  read(c);
  while c <> '.' do
  begin
    inc(mas[ord(upcaser(c))]);
    read(c);
  end;
  for c := chr(128) to chr(133) do
    if (mas[ord(c)] <> 0) and (c in sen)  then
      writeln(c, ' ', mas[ord(c)]);
  if mas[240] <> 0 then
    writeln(chr(240), ' ', mas[240]);
  for c := chr(136) to chr(159) do
    if (mas[ord(c)] <> 0) and (c in sen) then
      writeln(c, ' ', mas[ord(c)]);
  readln;
  readln;
end.
Не забудьте русские буквы заново ввести в Турбо Паскале.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума
Старый 25.04.2012, 09:00   #8
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

Цитата:
Сообщение от Кулибаба Петро Посмотреть сообщение
aset:=aset+[s[i]]
s[i] - ошибочный спецификатор
Цитата:
Сообщение от Paster Fob Посмотреть сообщение
TP7 выдаёт указанную ошибку.
Нужно использовать типизированную константу,иначе TP7 видит её как одно целое и не может разложить на символы.
Код:
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]];
      inc(amas[s[i]]);
    end;
end;

procedure writecount(var aset:tset;var amas:tarray);
var ch:char;
begin
  for ch:='а' to 'ё' do
    if ch in aset then begin
      write(ch);
      writeln(amas[ch]:4);
    end;
end;

var sn:tset;
    mas:tarray;
    ch:char;
begin
  sn:=[];
  for ch:='а' to 'ё' do mas[ch]:=0;
  count(sn,mas);
  writecount(sn,mas);
  readln
end.

Последний раз редактировалось Paster Fob; 25.04.2012 в 19:06.
Paster Fob вне форума
Старый 04.05.2012, 16:48   #9
Кулибаба Петро
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 31
По умолчанию

Ура!!! Спасиба... Работает...

А можешь объяснить каждую строку программы?

Последний раз редактировалось Stilet; 04.05.2012 в 19:34.
Кулибаба Петро вне форума
Старый 04.05.2012, 17:18   #10
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

комментарии написать?
Paster Fob вне форума
Закрытая тема


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



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