Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Задание на множества. (http://www.tehnari.ru/f41/t33497/)

Linka 25.02.2010 15:48

Задание на множества.
 
Опять-таки из учебника.

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

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

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

Цитата:

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 16:32

Вложений: 1
И еще один вопрос.
Вот такое задание -

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


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.