Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 25.02.2010, 15:48   #1 (permalink)
Linka
Member
 
Аватар для Linka
 
Регистрация: 24.01.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 26
По умолчанию Задание на множества.

Опять-таки из учебника.

Составить программу подсчета количества различных значащих цифр в десятичной записи натурального числа.

Задача, из раздела о множествах. Потому интересуют решения, только там где операции с множествами.

Вот как у меня получилось:

Цитата:
program raznie_chisla;
uses crt;

var str:string;
mn: set of byte;
j,k:integer;
begin
clrscr;
readln(str);
k:=1;
{убираем незначащие нули из начала строки}
while (Ord(str[k])-Ord('0'))=0 do begin
Delete(str,1,1);
end;

{заносим в множество числа, по одному}
for k:=1 to length(str) do
begin
mn:=mn+[Ord(str[k])-Ord('0')];
end;

j:=0;
for k:=0 to 9 do
begin if k in mn then j:=j+1; end;
writeln(j);
readln;
end.
Все работает. Но какой-то уж больно громоздкий способ получился. Можно еще как-то решить задачу с помощью множеств ? Если можно, не код, а сам метод реализации.
Linka вне форума   Ответить с цитированием

Старый 25.02.2010, 15:48
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Эти темы очень схожи с вашей и возможно в какой то из них проблема уже решена

Множества
Множества в паскале
Задание в Паскале

Старый 25.02.2010, 16:32   #2 (permalink)
Linka
Member
 
Аватар для Linka
 
Регистрация: 24.01.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 26
По умолчанию

И еще один вопрос.
Вот такое задание -

Вопрос следующий: очевидно, что каждое слово должно быть представлено как множество, в котором элементы - буквы этого слова. А если строка, с клавиатуры вводиться, то как знать сколько множеств объявлять ?
Миниатюры
mnozhestva_6.jpg  

Последний раз редактировалось Linka; 26.02.2010 в 00:48
Linka вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 22:51.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.