Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Pascal)функция подсчета разных цифр в числе

21K
03 декабря 2006 года
ZAGA
3 / / 03.12.2006
Народ кто может помочь написать на Pascale 7.0 !

Описать функцию, которая возвращает количество разных цифр входящих в запись числа типа Longint.
[COLOR=blue][/COLOR]
[COLOR=blue]Pascal[/COLOR]
263
04 декабря 2006 года
koltaviy
816 / / 16.12.2004
Уж не знаю, как там на Pascal'е, потому что уже не помню его, но в общем смысл следующий:
1) Ищещь функцию, которая преобоазовывает Longint в строку(буквенный массив)..
К примеру, было число 12345664..
Строка1 у нас получилась "12345664"
2) Создаем еще одну строку2.. В цикле сравниваем i-тый элемент из строки1 со всеми остальными в этой строке..
а) если элемент больше не встретился, то добавляем в строку2
б) иначе ничо не делаем
После выхода из цикла определяем длину строки2 и возвращаем это значение..
З.Ы.: В принципе, строку2 можно не создавать а просто добавлять единицу в обнуленную до цикла переменную, если элемент встречается в строке один раз..
257
04 декабря 2006 года
kosfiz
1.6K / / 18.09.2005
Код:
uses crt;

var i:longint;

function colcifr(a:longint):word;
var s:string;
    i,j:word;
begin
str(a,s);
for i:=1 to length(s) do
 for j:=i+1 to length(s) do
  if (s<>' ') and (s=s[j]) then s[j]:=' ';
j:=0;
for i:=1 to length(s) do
 if s<>' ' then j:=j+1;
colcifr:=j;
end;

begin
clrscr;
writeln('vvedite chislo');
readln(i);
writeln(colcifr(i));
readln;
end.
247
04 декабря 2006 года
wanja
1.2K / / 03.02.2003
Можно еще так:
Код:
function diffdigits(n:longint):integer;
var m:longint;
     i,r:integer;
     was:set of 0..9;
begin
i:=0;
was:=[];
m:=n;
while m>0 do
    begin
    r:=m mod 10;
    m:=m div 10;
    if not (r in was)  then
       begin
       inc(i);
       include(was,i);
       end
    end;
diffdigits:=i;
end;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог