Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить кратность числа?:), На чтоб нацело делилось. 
V
    Опции темы
Zakary
Дата 2.12.2008, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



мне надо узнать  например, делится ли число Х на 5 нацело? как сделать?smile
по-любому в библиотеке какой-то есть...только я вот не знаю =\
PM MAIL   Вверх
Nat
Дата 2.12.2008, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 16.4.2007

Репутация: нет
Всего: нет



X%5 = 0;

0 - остаток.
PM MAIL   Вверх
Dmi3ev
Дата 2.12.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



маленький примерчик
Код

#include <iostream.h>
//---------------------------------------------------------------------------
bool mycheck(int x, int y)
{
if ((x%y)==0)
 return (true);
else
 return false;
}


//---------------------------------------------------------------------------


int main()
{
//...
int d;
int ch=5;
cout<<"Enter your number: "<<endl;
cin>>d;
(mycheck (d, ch))? (cout<<d<<" kratno "<<ch) : (cout<<d<<" ne kratno "<<ch);
return 0;
//...
}
//---------------------------------------------------------------------------


Это сообщение отредактировал(а) Dmi3ev - 2.12.2008, 13:56


--------------------

PM MAIL   Вверх
Zakary
Дата 2.12.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Извините пожалуйста...
1. что такое mycheck?
2. а если не int? ведь нельзя же  % использовать с double..
PM MAIL   Вверх
Dmi3ev
Дата 2.12.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

2. а если не int? ведь нельзя же  % использовать с double..

а какой у тебя будет остаток от деления 2,5 на 5 допустим??? может ты имеешь ввиду проверку деления нацело?
допустим x=4,2 а y=2,1, тогда x/y=2, это кратно или нет?
а если y=5? тогда чего? объясни подробнее


--------------------

PM MAIL   Вверх
Zakary
Дата 2.12.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



идет инремент массива бесконечно много раз list[index]....index++;

каждый раз, когда index/5 = целое чило 1,2,3,4,5,6,7.....
, надо делать \n

PM MAIL   Вверх
Dmi3ev
Дата 2.12.2008, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

каждый раз, когда index/5 = целое чило 

 значит index целое число))) не так ли??

Добавлено через 1 минуту и 11 секунд
Цитата

1. что такое mycheck?

функция проверки кратности, которая написана над main, если кратно, то тогда возвращает true

Добавлено через 12 минут и 25 секунд
если число не int, а double и надо узнать делится ли на цело одно на другое, то:
Код

#include <iostream.h>
//---------------------------------------------------------------------------
bool mycheck(double x, double y)
{
if (x/y==int(x/y))
 return (true);
else
 return (false);
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
//...
double d;
double ch=5.5;
cout<<"Enter your number: "<<endl;
cin>>d;
(mycheck (d, ch))? (cout<<d<<" kratno "<<ch) : (cout<<d<<" ne kratno "<<ch);
//...
return 0;
}
//---------------------------------------------------------------------------



--------------------

PM MAIL   Вверх
IKM2007
Дата 2.12.2008, 16:45 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



Dmi3ev, первый код можно было бы написать более компактно.
Код

#include <iostream>

bool mycheck(int x, int y)
{
 return (!(x%y));
}

void main()
{

int d, ch=5;
std::cout<<"Enter your number: \n";
std::cin>>d;
std::cout<<d<<( (mycheck (d, ch) ) ? " kratno " : " ne kratno " )<<ch<< "\n";

}

анологично второй код.
Код

#include <iostream>

bool mycheck(double x, double y)
{
 return ( x/y == int (x/y) );
}

void main()
{
double d, ch=5.5;
std::cout<<"Enter your number: \n";
std::cin>>d;
std::cout<<d<<( (mycheck (d, ch) ) ? " kratno " : " ne kratno " )<<ch<< "\n";

}



--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
system
Дата 2.12.2008, 16:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 16.5.2008

Репутация: 1
Всего: 2



double может быть гораздо больше int
поэтому второй пример фигня 
PM MAIL   Вверх
IKM2007
Дата 2.12.2008, 16:57 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



Цитата(system @  2.12.2008,  16:50 Найти цитируемый пост)
double может быть гораздо больше int

И? Что ВЫ хотели этим сказать? ВЫ вообще поняли, что требуется? 


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
system
Дата 2.12.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 16.5.2008

Репутация: 1
Всего: 2



Цитата(IKM2007 @  2.12.2008,  16:57 Найти цитируемый пост)
И? Что ВЫ хотели этим сказать? ВЫ вообще поняли, что требуется?  

отлично понял, только вот вы видимо не хотите признать что код который вы изменили и сделали "компактно", остался 
игрушечным и бредовым

Добавлено через 4 минуты и 26 секунд
в догонку
Код

std::cout<<( (mycheck ( 10e+30, 2 ) ) ? " kratno " : " ne kratno " )<< "\n";

PM MAIL   Вверх
Dmi3ev
Дата 2.12.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



хотел написать небольшой примерчик, не знал, что такой спор разразится  smile 


--------------------

PM MAIL   Вверх
IKM2007
Дата 2.12.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



А кто сказал, что в C++ без подключения специальных библиотек можно выполнить арифметические действия с числами порядка 10^30 ?

Добавлено через 58 секунд
Попробуй до 10^9.


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
system
Дата 2.12.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 16.5.2008

Репутация: 1
Всего: 2



Цитата(IKM2007 @  2.12.2008,  17:25 Найти цитируемый пост)
А кто сказал, что в C++ без подключения специальных библиотек можно выполнить арифметические действия с числами порядка 10^30 ?

RTFM в общем учите матчасть, и смотрите диапазон  double для ваше машины, 
Цитата
 Попробуй до 10^9 

ну это полная глупость вы входящий параметр сами написали, вот позвольте мне выбирать числа которые позволяет 
платформа
Код

bool whole( double x, double x2 )
{
        return ( fmod( x, x2 ) == 0.0 );
}


Добавлено через 38 секунд
для примера выше нужна math.h
PM MAIL   Вверх
IKM2007
Дата 2.12.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



Цитата(system @  2.12.2008,  17:32 Найти цитируемый пост)
RTFM в общем учите матчасть,

Причем здесь матчасть?

Из твоего примера следует, что 10e+30 делится только на 2^k. Где k=1,2,3,4,...,30,....


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.