Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 1
1

Как определить операции вычитания, больше или меньше в типе char, какие ошибки в программе

04.12.2016, 10:41. Показов 497. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу определить операцию вычитание. Тема "наследование в C++"
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
#include "stdafx.h"
#include <iostream>
using namespace std;
 
template <class T>
class Tvector
{
public:
    int N;
    T *A;
public:
    Tvector();
    Tvector(unsigned);
    Tvector(unsigned, const T&);
    Tvector(const Tvector<T>&);
    ~Tvector();
    T& operator[](unsigned) const;
    operator unsigned() const;
    const bool operator==(const Tvector<T>&) const;
    const bool operator!=(const Tvector<T>&) const;
    template <class T> friend ostream & operator <<(ostream &, const Tvector <T> &);
    template <class T> friend istream & operator >> (istream &, Tvector <T> &);
    const Tvector<T> & operator=(const T&);
    const Tvector<T>& operator=(const Tvector<T>&);
};
 
 
template<class T>
Tvector<T>::Tvector() :A(NULL), N(0) {}
template<class T>
Tvector<T>::Tvector(unsigned n) : N(n) { A = new T[n]; if (A == NULL) { cout << "error"; exit(2); } }
template<class T>
Tvector<T>::Tvector(unsigned n, const T&z) : N(n)
{
    cout << "Tvector(unsigned n, const T&z)" << endl;
    A = new T[n]; if (A == NULL) { cout << "error"; exit(2); }
    for (unsigned i = 0; i<N; ++i) A[i] = z;
}
template<class T>
Tvector<T>::Tvector(const Tvector<T>&z) : N(z.N) { A = new T[N]; if (A == NULL) { cout << "error"; exit(2); } for (unsigned i = 0; i<N; ++i) A[i] = z.A[i]; }
 
template<class T> Tvector<T>::~Tvector() { if (A != NULL) delete[]A; }
 
template<class T>
Tvector<T>::operator unsigned() const { return N; }
 
template <class T>
T& Tvector<T>::operator [](unsigned i) const
{
    if (A == NULL) { cout << "ERROR\tNULL" << endl; system("pause"); exit(2); }
    if (i >= N) { cout << "ERROR\t" << endl;  exit(2); }
    else return A[i];
}
 
template <class T>
const Tvector<T> & Tvector<T>::operator=(const T& z)
{
    if (A == NULL) { N = 1; A = new T[1]; A[0] = z; }
    else for (unsigned i = 0; i < N; ++i)
    {
        A[i] = z;
    }
    return *this;
}
 
template <class T>
const Tvector<T> & Tvector<T>::operator=(const Tvector<T> &z)
{
    N = z.N;
    delete[] A;
    A = new T[N];
    for (unsigned i = 0; i < N; ++i)
    {
        A[i] = z.A[i];
    }
    return *this;
}
 
 
template <class T>
const bool Tvector<T>::operator==(const Tvector<T>&z) const
{
    if (A == NULL) { cout << "ERROR"; exit(2); }
    else
    {
        if (N == z.N)
        {
            for (unsigned i = 0; i<N; ++i)
            {
                if (A[i] != z.A[i]) { return 0; }
            }
            return 1;
        }
        else return 0;
    }
}
 
template <class T>
const bool Tvector<T>::operator!=(const Tvector<T>&z) const
{
    if (A == NULL) { cout << "ERROR\tNULL" << endl; system("pause"); exit(2); }
    else
    {
        if (N != z.N) { return 1; }
        else
            for (unsigned i = 0; i < N; ++i)
            {
                if (A[i] != z.A[i]) { return 1; }
            }
        return 0;
    }
}
 
template <class T>
ostream & operator <<(ostream &p, const Tvector<T>&z)
{
    if (z.A == NULL) { p << NULL; return p; }
    else
    {
        for (unsigned i = 0; i < z.N; ++i)
        {
            p << z.A[i] << '\t';
        }
        return p;
    }
}
 
template <class T>
istream & operator >> (istream &p, Tvector<T>&z)
{
    p >> z.N;
    if (z.N == 0) { cout << "ERROR\tNULL" << endl; system("pause"); exit(2); }
    delete[] z.A;
    z.A = new T[z.N];
    for (unsigned i = 0; i < z.N; ++i) { p >> z.A[i]; }
    return p;
}
 
class charvector : public Tvector<char>
{
public:
    charvector();
    charvector(int n);
    charvector(const charvector&);
    charvector(unsigned, const char &);
    ~charvector();
 
    charvector(char);
    charvector(const char* const);
 
    const charvector& operator+() const;
    const charvector operator-() const;
    const charvector operator+(const charvector&) const;
    const charvector operator-(const charvector&) const;
    const bool operator<=(const charvector&) const;
    const bool operator>=(const charvector&) const;
    const bool operator<(const charvector&) const;
    const bool operator>(const charvector&) const;
 
 
};
 
charvector::charvector(int n) { A = new char[n]; N = n; }
charvector::charvector() : Tvector<char>() {}
charvector::charvector(unsigned n, const char &a) : Tvector <char>(n, a) {}
charvector::charvector(const charvector&z) : Tvector<char >(z) {}
charvector::~charvector() {}
charvector::charvector(char a) : Tvector<char>(1, a) {}
charvector::charvector(const char* const p) : Tvector<char>()
{
    unsigned i = 0;
    while (p[i++]);
    A = new char[N = i - 1];
    if (A == NULL) { cout << "ERROR\tNULL" << endl; system("pause"); }
    for (i = 0; i < N; ++i) A[i] = p[i];
}
 
const charvector& charvector::operator+()const
{
    return *this;
}
const charvector charvector::operator-()const
{
    if (N == 0) return charvector();
    charvector p(N);
    for (int i = 0; i < N; ++i) p.A[i] = -A[i];
    return p;
}
 
 
const charvector charvector::operator+(const charvector &z) const
{
    charvector p(z.N + N);
    for (unsigned i = 0; i < N; ++i) p.A[i] = A[i];
    for (unsigned i = 0; i < z.N; ++i) p.A[N + i] = z.A[i];
    return p;
}
const charvector charvector::operator-(const charvector &z) const
{
    
}
 
const bool charvector::operator<=(const charvector &z)const
{
    unsigned i = 0;
    while (1)
    {
        if (i >= N && i < z.N) return true;
        else if (i < N && i >= z.N) return false;
        else if (i >= N && i >= z.N)return true;
        else if (A[i] <= z.A[i])return true;
        else if (A[i] > z.A[i])return false;
        else ++i;
    }
}
const bool charvector::operator>=(const charvector &z)const
{
    unsigned i = 0;
    while (1)
    {
        if (i <= N && i > z.N) return true;
        else if (i > N && i <= z.N) return false;
        else if (i <= N && i <= z.N)return true;
        else if (A[i] >= z.A[i])return true;
        else if (A[i] < z.A[i])return false;
        else ++i;
    }
}
const bool charvector::operator<(const charvector &z)const
{
    unsigned i = 0;
    while (1)
    {
        if (i >= N && i < z.N) return true;
        else if (i < N && i >= z.N) return false;
        else if (i >= N && i >= z.N)return false;
        else if (A[i] <= z.A[i])return true;
        else if (A[i] > z.A[i])return false;
        else ++i;
 
    }
}
const bool charvector::operator>(const charvector &z)const
{
    unsigned i = 0;
    while (1)
    {
        if (i >= N && i < z.N) return false;
        else if (i < N && i >= z.N) return true;
        else if (i >= N && i >= z.N)return true;
        else if (A[i] <= z.A[i])return false;
        else if (A[i] > z.A[i])return true;
        else ++i;
 
    }
}
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUSSIAN");
    charvector c("b"), b("f");
    charvector a("a"), k("5"), t("сон"), d("5");
 
 
    cout << b << a << k << endl;
    cout << t + b << endl;
    cout << d << c << b << endl;
    if (k < d) { cout << "true" << endl; }
    else { cout << "false" << endl; }
    if (b >= a ) { cout << "true" << endl; }
    else { cout << "false" << endl; }
    if (b <= a) { cout << "true" << endl; }
    else { cout << "false" << endl; }
    if (b > a) { cout << "true" << endl; }
    else { cout << "false" << endl; }
    if (b < a) { cout << "true" << endl; }
    else { cout << "false" << endl; }
 
 
 
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2016, 10:41
Ответы с готовыми решениями:

Определить сколько чисел больше или равно А, но меньше В
Задана матрица М(3,4) Определить сколько чисел больше или равно А, но меньше В находится в первом...

По заданному объему куба определить, длина его стороны больше единицы или меньше
Дано одно число-объем куба. Определить, длина его стороны больше 1(единицы) или меньше Входные...

Как выполнить функцию если значение в Label меньше или больше 100?
Как Сделать Выполнение Функции Если Значение в Label1 Меньше или больше нужного числа if...

Определить, будет ли средний элемент упорядоченного массива больше, меньше или равен среднему арифметическому всех элементов массива
Дана задача. Я ее почти решила. Вот только не могу записать, как определить, будет ли средний...

0
04.12.2016, 10:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2016, 10:41
Помогаю со студенческими работами здесь

Какие ошибки в программе. Не выполняется
#include&lt;studio. h&gt; #include&lt;conio. h&gt; void main () cout&lt;&lt; (&quot;Унылая пора! Очей...

Нужно заново запросить ввод N и M, если они больше 20 или меньше 1, или равны 1 одновременно
Проблема в том, что когда ввожу 1, происходит запрос заново. Например, ввожу 1 и 5. А когда 20, то...

Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число
Даны числа x и y. Используя только битовые операции и операции арифметического сложения и...

Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число
Подскажите в чем ошибка? при попытке перхода в режим пользователя появляется ошибка Операции...

Реализовать класс MyArray, который бы поддерживал индексные операции, операции сложения, вычитания, умножения, деления
Необходимо реализовать класс MyArray, который бы поддерживал индексные операции, операции сложения,...

В программе имеется следующий фрагмент: const char a='*'; char ch; как объявится указатель-переменная
В программе имеется следующий фрагмент: const char a='*'; char ch; как объявляется...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru