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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2016, 21:30   #1
Вячик
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 14
По умолчанию множество объясните пожалуйста строчку k:=k+1

(*Дана непустая последовательность слов из строчных русских букв;
между соседними словами запятая, за последним словом точка.
Напечатать:Все согласные буквы, которые не входят хотя бы в одно слово. *)
Код:
const sg=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ','ъ','ь'];
var s:string;
    m,m1:set of char;
    i,k:integer;
    c:char;
begin
writeln('Введите непустую последовательности слов из строчных русских букв');
writeln('между соседними словами запятая, за последним словом точка');
readln(s);
for i:=1 to length(s) do
if s[i] in sg then include(m,s[i]);{еси буква согласная, включаем ее в множество, можно m:=m+[s[i]]}
m1:=sg-m;{вычитаем из множества всех согласных букв множество встреченных, получаем 
множество тех, которые не входят}
writeln('rezultat:');
k:=0;
for c:='б'to 'ь' do
if chr(ord(c))in m1 then{если какая-то буква есть в множестве}
  begin
   write(chr(ord(c)),' ');{выводим ее}
   k:=k+1;
  end;
if k=0 then writeln('Takih bukv net');{если ни одной нет, сообщаем}
readln
end.
Вячик вне форума Ответить с цитированием
Старый 27.04.2016, 21:38   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
объясните пожалуйста строчку k:=k+1
это количество тех самых букв,
Цитата:
которые не входят хотя бы в одно слово.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 28.04.2016, 07:28   #3
Alex794
Пользователь
 
Регистрация: 25.04.2016
Сообщений: 11
По умолчанию

Я так думаю, это просто замена флага, и наверно не очень правильно, т.к. по заданию считать не нужно. Лучше использовать boolean и вместо k:=k+1; писать k:=true.
Alex794 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните, плз, строчку кодо Дмитрий Огнев Помощь студентам 4 14.12.2015 21:47
объясните пожалуйста Arcueid1691 Паскаль, Turbo Pascal, PascalABC.NET 9 11.06.2009 20:59
Объясните строчку, пожалуйста Manya Общие вопросы C/C++ 2 20.11.2008 16:02
Объясните пожалуйста TheHerd Паскаль, Turbo Pascal, PascalABC.NET 12 04.04.2008 21:33