Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Oleg34
1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 128
#1

mod - C++

08.02.2012, 15:20. Просмотров 2410. Ответов 4
Метки нет (Все метки)

Здравствуйте! У меня вопрос наверное глупый. Препод для выбора курсовой поставил следующие условия: Вариант задания выбирается по формуле (N mod 24)+1, где
N - последние две цифры зачетной книжки студента(в моем случае N=17).
; Залез в Википедию, где прочитал, что mod это остаток от деления, открыл "Дискретная математика. Теория чисел", читаю: Наименьший положительный остаток от деления некоторого числа a на число m обычно называют наименьшим неотрицательным вычетом a по модулю m. Если m делит a нацело, то остаток r = 0. Я к тому, что делимое должно быть больше делителя. Я не успокоился и попробовал при помощи С++ посчитать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<math.h>
using namespace std;
void main()
{
    setlocale(LC_ALL, "Russian");
    int N;
    float n;
    cout<<"    Введи номер зачетки"<<endl;
    cin>>N;
    n=(N % 24)+1;
    cout<<"    Номер варианта: "<<n<<endl;
    
    system ("Pause");
}
Начинаются удивительные вещи, пока N>24, все считает правильно (ну с моей точки зрения)
Как только N<24 то выдает непонятное. Так как же все таки правильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2012, 15:20     mod
Посмотрите здесь:

mod (на C) C++
C++ mod и div
C++ Операция mod()
mod и div ?? C++
div и mod C++
A^B mod C C++
mod и div (Чистый С) C++
DIv MOD в С++ C++
Как на с++ оформить формулу: (y2-y1)/(x2-x1) (mod M) C++
C++ Расскажите по подробнее о mod
C++ Что такое mod в с++ ?
Div и mod в С++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
08.02.2012, 15:36     mod #2
Цитата Сообщение от Oleg34 Посмотреть сообщение
float n;
Остаток от целочисленного деления - тоже целое число...
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
    
int main(){
    const unsigned M(24);
    unsigned n;
    
    while ( std::cout << "Number: " && std::cin >> n )
        std::cout << "Result: " << ( n % M + 1 ) << std::endl;
    
    return 0;
}
Хотя оно и в прежнем виде работало... А что смущает-то?
Oleg34
1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 128
08.02.2012, 15:44  [ТС]     mod #3
Меня смущает ответ, (17 mod 24)+1=18. А здравый смысл мне подсказывает, что 17/24=0,7083(3). Откуда берется 17 ?
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.02.2012, 16:32     mod #4
А что не так-то?
Если вы хотите поделить число A на число B с остатком R, то это значит, вы должны найти такое целое M, чтобы выполнялось
A = M*B + R. Согласны?

Функция mod возвращает число R.
Теперь ваши числа
17 = 0*24 + 17.
Oleg34
1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 128
08.02.2012, 17:37  [ТС]     mod #5
Вот теперь все понятно.
Yandex
Объявления
08.02.2012, 17:37     mod
Ответ Создать тему
Опции темы

Текущее время: 22:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru