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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2010, 16:40   #1
Lange
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 17
Печаль Паскаль. Напечатать в алфавитном порядке все звонкие согласные звуки,которые входят более чем в 1 слово

Мне нужно написать программу на Паскале!Задание:Дана непустая последовательность слов из строчных букв;между соседними словами запятая,за последним словом точка.Напечатать в алфавитном порядке все звонкие согласные звуки,которые входят более чем в 1 слово.Задачу оформить с применением множеств и без применения множеств.С применением множеств я сделала,а вот без их применения никак не получается.Может подскажете хотя бы?
Lange вне форума Ответить с цитированием
Старый 24.03.2010, 17:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Наверное имеется ввиду что ты пишешь цикл, в котором считываешь посимвольно а не строку типа:
Код:
repeat
 c:=readkey;write(c);
 if pos(c,'нрлдбз')<>0 then введена звонкая согласная
until c=#13
Ну а далее собсно в массив введенные звонкие, и их сортировать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2010, 17:17   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Stilet, + 1

либо можно воспользоваться массивом MM : array[0..255] of boolean;
где каждый элемент массива - это признак, что эта звонкая согласная встретилась более чем в одном слове:
Код:
 if pos(c,'нрлдбз')<>0 then введена звонкая согласная
    MM[ord(c)] := true;

p.s. кстати, задание так, как Вы написали, вряд ли может звучать... "звонкие согласные звуки" - может всё таки согласные БУКВЫ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.03.2010, 17:23   #4
Lauraldo
Пользователь
 
Аватар для Lauraldo
 
Регистрация: 22.03.2010
Сообщений: 53
По умолчанию

Но буквы-то звонкими не бывают... Тут уже скорее напутал сам препод...)
Lauraldo вне форума Ответить с цитированием
Старый 24.03.2010, 17:27   #5
Женечка))
Новичок
Джуниор
 
Регистрация: 23.03.2010
Сообщений: 1
По умолчанию

помогите пожалуйста задачу решить? очень нужно...
"В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими же цифрами." заранее спасибо...
ну в смысле в паскале сделать программу...
Женечка)) вне форума Ответить с цитированием
Старый 24.03.2010, 18:00   #6
Lange
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Lauraldo Посмотреть сообщение
Но буквы-то звонкими не бывают... Тут уже скорее напутал сам препод...)
Почему?Могут)Это еще по русскому языку проходили...
Согласные звонкие:б,в,г,д,ж,з,л,м,н,р.
Lange вне форума Ответить с цитированием
Старый 24.03.2010, 18:04   #7
Lange
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Stilet, + 1

либо можно воспользоваться массивом MM : array[0..255] of boolean;
где каждый элемент массива - это признак, что эта звонкая согласная встретилась более чем в одном слове:
Код:
 if pos(c,'нрлдбз')<>0 then введена звонкая согласная
    MM[ord(c)] := true;

p.s. кстати, задание так, как Вы написали, вряд ли может звучать... "звонкие согласные звуки" - может всё таки согласные БУКВЫ?
Вот такая у меня программа с применением множеств(работает):

PHP код:
uses crt;
var
  
s:string;
  
a,m:set of char;
  
l,p:integer;
  
c:char;
procedure vvod;
var
  
i:integer;
begin
  writeln
('Введите строку:');
  
i:=0;
  
repeat
    i
:=i+1;
    
read(s[i]);
  
until s[i]='.'
end;
begin
  clrscr
;
  
vvod;
  
a:=['b','v','g','d','z','l','m','n','r'];
  for 
c:='b' to 'z' do
    
begin
      l
:=0;
      
p:=0;
      
m:=[];
      
repeat
        l
:=l+1;
        if 
s[l]=',' then m:=[]
          else;
        if (
s[l]=c)and(s[l]in a)and not(s[l]in m)then
          begin
            m
:=m+[s[l]];
            
p:=p+1
          end
        
else;
      
until (s[l]='.')or(p>1);
      if 
p>1 then write(c,' ')
        else
    
end;
  
readkey
end

Lange вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В алфавитном порядке напечатать все согласные буквы, которые не входят ни в одно слово Shain Помощь студентам 16 23.02.2010 09:39
Напечатать слова в которые входят цифры profi Помощь студентам 3 02.12.2009 23:34
Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово. GHOST_DOG Помощь студентам 5 30.03.2009 15:24
Распечатать все буквы входящие в текст не мене двух раз в алфавитном порядке. Паскаль. DIzza Помощь студентам 5 13.03.2009 09:08
Вывести в алфавитном порядке все латинские буквы Jereme Паскаль, Turbo Pascal, PascalABC.NET 6 26.12.2008 13:15