Страница 1 из 2

Пожалуйста помошите ! Задача не трудная

Добавлено: 15 окт 2009, 22:14
diana1004
Пожалуйста помогите! Буду очень благодарна

1 Найти два наибольших элементов из n-чисел
2 Найти кол-во делителей числа n

:) :)

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 15 окт 2009, 23:10
Sheka
сделаю за небольшую благодарность. 255507394

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 08:04
airyashov
недорого обращайтесь

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 10:33
atavin-ta
Вторая задача:

Код: Выделить всё

int Count(int x)
{
 int r;
 int d;
 for (r=0, d=x-1; d>0; --d)
 {
  if (x%d)==0)
  {
   ++r;
  }
 }
 return r;
}

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 10:46
airyashov
atavin-ta писал(а):Вторая задача:

Код: Выделить всё

int Count(int x)
{
 int r;
 int d;
 for (r=0, d=x-1; x>0; --d)
 {
  if (x%d)==0)
  {
   ++r;
  }
 }
 return r;
}
и как выход из цикла работает?

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 10:48
atavin-ta
Там опечатка. Не x>0, a d>0. Уже исправил.

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 10:55
airyashov
т.е. d=0 может быть и скобку в условии пропустил

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 10:59
atavin-ta
&quot писал(а):.е. d=0 может быть и скобку в условии пропустил
Нет, щас правильно.

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 12:07
Albor
А сколько делителей у нуля? Функция выдаст 0. Или будет передано отрицательное число?

Re: Пожалуйста помошите ! Задача не трудная

Добавлено: 16 окт 2009, 12:44
atavin-ta
Число таких делителей бесконечно. Но функция выдаст конечное число. Переопредели тип функции и приделай логику. И в таком виде функция выдаёт число делителей данного чила, не считая самого числа. А полное число делителей:

Код: Выделить всё

int Count(int x)
{
 int r;
 int d;
 for (r=0, d=x; x>0; --d)
 {
  if (x%d)==0)
  {
   ++r;
  }
 }
 return r;
}