Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
kiborg_18
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
#1

Поле чисел от 0 до N - C++

19.04.2011, 18:37. Просмотров 325. Ответов 4
Метки нет (Все метки)

Как в С++ или в С создать поле чисел, которое включает в себя все числа от 0 до N?
Напрмер поле чисел 0_3, включает в себя 0,1,2. 2+1 должно давать 0, 1+2 должно давать 0. кто-нибудь может помочь? Буду очень признателен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2011, 18:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поле чисел от 0 до N (C++):

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

Поле шахматной доски определяется парой натуральных чисел - C++
Поле шахматной доски определяется парой натуральных чисел, первое из которых задает номер вертикали, а второе — номер горизонтали. Даны...

Только константное статическое поле НЕ МОЖЕТ быть поле членом класса ! - C++
class CCoords { static const float rate = 1.0f; // ОШИБКА !!! bool IsComputed; float x,y; POINT2D ...

Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) - C++
ребята помогите пожалуйста!я в с++ вообще не бум-бум! у меня 2-е задачи с шахматами!а я даже играть не умею в них!помогите пожалуйста!я...

определить количество четных чисел и количество нечетных чисел массива, которые вводятся в МЕМО, вывести в поле компонента Edit. - Delphi
определить количество четных чисел и количество нечетных чисел массива, которые вводятся в МЕМО, вывести в поле компонента Edit.

MS Access Уменьшение чисел в поле - Delphi БД
Привет всем, делаю программу для книжного магазина, у меня есть поле с названием книг и с их количеством, я сделала форму для покупки там...

4
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
19.04.2011, 19:21 #2
Создаешь свой класс, пишешь операторы. Cложение будет выглядеть так:
C++
1
2
3
4
5
6
7
8
9
...
int n;
int value;
pole operator+=(pole b)
{
    value = (value + b.value)%n;
    return *this;
}
...
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
19.04.2011, 22:04 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/////////////////////////////////////////////////////////////////////////////////////////
//Как в С++ или в С создать поле чисел, которое включает в себя все числа от 0 до N?
//Напрмер поле чисел 0_3, включает в себя 0,1,2. 2+1 должно давать 0, 1+2 должно давать 0.
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
template<int  characteristic>
class  T_field
{    
    int  val_;
    //-----------------------------------------------------------------------------------
public:
    //-----------------------------------------------------------------------------------
    T_field(int  int_val) : val_(normalize(int_val))
    {
        if(!is_prime(characteristic))
        {
            std::cout << "Характеристика поля "
                      << characteristic
                      << " не является простым числом."
                      << std::endl;
 
            throw(0);
        }
    }
    //-----------------------------------------------------------------------------------
    T_field  operator- ()
    {
        return  -val_;    
    }
    //-----------------------------------------------------------------------------------
    friend T_field  operator+ (T_field  f,  T_field  g)
    {
        return  f.val_ + g.val_;
    }
    //-----------------------------------------------------------------------------------
    friend T_field  operator- (T_field  f,  T_field  g)
    {
        return  operator+ (f, -g);
    }
    //-----------------------------------------------------------------------------------
    friend T_field  operator* (T_field  f,  T_field  g)
    {
        return  f.val_ * g.val_;
    }
    //-----------------------------------------------------------------------------------
    friend T_field  operator/ (T_field  f,  T_field  g)
    {
        if(g.val_ == 0)
        {
            std::cout << "Деление на ноль."
                      << std::endl;
            throw(0);
            return  0;
        }
        while(f.val_ % g.val_ != 0)
        {
            f.val_ += characteristic;
        }
        return  f.val_ / g.val_;
    }
    //-----------------------------------------------------------------------------------
    friend  std::ostream&  operator<< (std::ostream&  ostr, T_field  f)
    {
        ostr << f.val_;
        return  ostr;
    }
    //-----------------------------------------------------------------------------------
private:
    //-----------------------------------------------------------------------------------
    int  normalize(int  n)
    {
        while(n < 0)
        {
            n += characteristic;
        }
        return  n % characteristic;
    }
    //-----------------------------------------------------------------------------------
    bool  is_prime(int  n)
    {
        for(int  i = 2; i * i <= n; ++i)
        {
            if(n % i == 0)  return  false;
        }
        return  true;
    }
};
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    //typedef  T_field<6>  T_field_6;
    //T_field_6  g(7);
 
    typedef  T_field<5>  T_field_5;
    T_field_5  f_7 = 7;
    std::cout << "f_7 = "
              << f_7
              << std::endl;
 
    T_field_5  f_11(11);
    std::cout << "f_11 = "
              << f_11
              << std::endl;
 
    T_field_5  f_3_1(3);
    T_field_5  f_3 = f_3_1;
    T_field_5  f_4(4);
 
    std::cout << "f_3 * f_4 = "
              << f_3 * f_4
              << std::endl;
 
    std::cout << "f_3 * 4 = "
              << f_3 * 4
              << std::endl;
 
 
    std::cout << "3 * f_4 = "
              << 3 * f_4
              << std::endl;
 
 
    std::cout << "f_3 / f_4 = "
              << f_3 / f_4
              << std::endl;
 
    std::cout << "f_3 - f_4 = "
              << f_3 - f_4
              << std::endl;
 
    std::cout << "-f_3 = "
              << -f_3
              << std::endl;
 
    T_field_5  f_1(1);
    std::cout << "f_1 / f_3 = "
              << f_1 / f_3
              << std::endl;
 
    std::cout << "1 / f_3 = "
              << 1 / f_3
              << std::endl;
 
    std::cout << "997 / f_3 = "
              << 997 / f_3
              << std::endl;
 
    std::cout << "(f_3 + f_4) * f_3 = "
              << (f_3 + f_4) * f_3
              << std::endl;
 
    std::cout << "f_4 / (f_3 - f_3) = "
              //<< f_4 / (f_3 - f_3)
              << std::endl;
}
0
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
19.04.2011, 22:17 #4
Mr.X, а почему характеристика поля должно быть простым числом??
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
19.04.2011, 22:31 #5
Цитата Сообщение от Overmind024 Посмотреть сообщение
Mr.X, а почему характеристика поля должно быть простым числом??
Согласно теории, характеристика конечного поля является простым числом.
Число элементов любого конечного поля есть его характеристика в натуральной степени: |Fq| = q = p^n.
Я взял простейший случай n = 1.
0
19.04.2011, 22:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2011, 22:31
Привет! Вот еще темы с ответами:

Вывод суммы чисел в текстовом поле - C#
Есть три текстовых поля и одна кнопка. Задача: вывести сумму чисел, введенных в первое и второе текстовые поля, в третьем текстовом поле...

Выведение двух чисел в одном поле - C++/CLI WinForms
Подскажите как при нажатии кнопки вывести в одном поле переменную (a=10), потом ее изменить (a=15), и дописать ее в то же поле, что бы...

Заполнить поле последовательностью чисел (UPDATE) - SQL Server
Изменяю структуру старых таблиц залитых из другой БД. Есть таблица в которой первичный индекс - строка. Я создал еще одно целое поле и хочу...

Формат дробных чисел в поле edit - C++ Builder
Что надо сделать, чтобы в поле edit у дробных чисел вместо ',' была '.'? Просто возникают проблемы с преобраованием в тип double.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.