• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задание на множества.

  • Автор темы Автор темы Linka
  • Дата начала Дата начала

Linka

Новые
Регистрация
24 Янв 2010
Сообщения
43
Реакции
1
Баллы
0
Задание на множества.

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

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

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

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

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.

Все работает. Но какой-то уж больно громоздкий способ получился. Можно еще как-то решить задачу с помощью множеств ? Если можно, не код, а сам метод реализации.
 
И еще один вопрос.
Вот такое задание -

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

Вложения

  • mnozhestva_6.webp
    mnozhestva_6.webp
    24.7 KB · Просмотры: 61
Последнее редактирование:
Назад
Сверху