Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Посчитать pow(31, 29) % 91 https://www.cyberforum.ru/ cpp-beginners/ thread1446429.html
pow(31,29)%91=5 Но как бы я не старался мне выводит либо отрицательное, либо ноль. пробовал modf().Помогите пожалуйста. Добавлено через 14 минут Это не работает // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include<stdio.h> #include<cmath> #include<conio.h>
Перевод class из public в private C++
Помогите пожалуйста, требуется перевести в данной программе классы из public в private Вот код: #include <iostream> #include <cmath> #include <string> #include <locale> using namespace std;
C++ Реализация ссылки на массив чисел в вызываемом модуле К примеру, если в main() создан динамический массив чисел. Он передаётся в качестве входного параметра функции, которая вызывается из другого модуля. В самом модуле, нужно сделать этот массив ссылкой, чтобы изменение внутри функции модуля преобразовало значения передаваемого числа. Как это реализовать грамотно. int main(void) { int *Numbers = new int; ModuleNameSpace::Function(Numbers); https://www.cyberforum.ru/ cpp-beginners/ thread1446406.html C++ Прошивка деревьев Выполнить симметричную прошивку бинарного дерева поиска. Обойти его согласно симметричному порядку следования элементов. Реализовать вставку и удаление элементов из симметрично прошитого бинарного дерева. Выполнить прямую прошивку бинарного дерева поиска. Обойти его согласно прямому порядку следования элементов. Реализовать вставку и удаление элементов из прямо прошитого бинарного дерева. кто... https://www.cyberforum.ru/ cpp-beginners/ thread1446400.html
C++ Биномиальное дерево
Есть код,которые реализует пирамидальное дерево- это двоичное дерево размером 2^N, в котором для каждого узла выполняется правило: Все элементы левого поддерева не превышают значение текущего элемента. Также в коде выполняется объединение пирамидальных деревьев,то есть получается биномиальная куча.Ну, по крайней мере, так написано тут Там биномиальное куча выглядит так(1 рис).На других сайтах...
C++ Конструктор копирования, присваивания https://www.cyberforum.ru/ cpp-beginners/ thread1446395.html
Пусть есть класс class some{ private : int a ; }; Перегрузить оператор "=" можно так some& operator=(const some& that){
C++ Доделать в программе удаление классов https://www.cyberforum.ru/ cpp-beginners/ thread1446393.html
Помогите сделать удаление, делается это на основе поиска уже существующего в программе, но я не знаю как. Заранее спасибо.
C++ Описать класс, реализующий возможности
Часы. установка времени; перевод на летнее время; перевод на зимнее время; вывести текущее время; ход в течение N секунд (Т=1...100-0) Помогите пожалуйста;)
C++ Разыменование указателя, не передается правильное значение https://www.cyberforum.ru/ cpp-beginners/ thread1446389.html
Здравствуйте, есть следующий код: for (int i = 0; i < arr.size(); i++) { const char *temp = arr.c_str(); const char obj_name = {*temp }; object = cvLoadImage(obj_name, 1); ... Значение массива arr - 1 вложение Почему в object записывается такое значение, а не то, что лежит в массиве arr ?
C++ Написать программу, демонстрирующую работу с объектами двух типов https://www.cyberforum.ru/ cpp-beginners/ thread1446385.html
Помогите,пожалуйста,разобраться с задачей.Написать программу, демонстрирующую работу с объектами двух типов, T1 и T2, для чего создать систему соответствующих классов. Функции main должны быть доступны следующие основные операции : создать объект, удалить объект, показать значение объекта.Операции по созданию и удалению объектов инкапсулировать в классе Factory. Предусмотреть ...
C++ Интеграл методом Симпсона и трапеции (Code::Blocks)
подскажите что делать дальше и в чём ошибки? файл main.cpp: #include <iostream> #include "integrall.h" inline double ff(double x){return ((x+1)*(x+1)*(x+1);} using namespace std; int main() {cout<<integrall(exp,1,0)<<endl;
C++ Ассемблерная вставка https://www.cyberforum.ru/ cpp-beginners/ thread1446369.html
Уважаемые форумчане, подскажите как из ассемблерной вставке выводить сообщения в консоль?
522 / 398 / 213
Регистрация: 28.07.2011
Сообщений: 2,207
17.05.2015, 17:39  [ТС] 0

Класс массив. Задания произвольных границ индексов массива - C++ - Ответ 7628093

17.05.2015, 17:39. Показов 5396. Ответов 11
Метки (Все метки)

Ответ

C++
1
`out_of_range' is not a member of `std'
Добавлено через 11 минут
вот код...
компилятор dev 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
/*
Составить описание класса для определения одномерных массивов целых чисел (векторов).
Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива,
возможность задания произвольных границ индексов при создании объекта
и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов
, умножения и деления всех элементов массива на скаляр,
вывода на экран элемента массива по заданному индексу и всего массива.
 
Написать программу, демонстрирующую работу с этим классом.
Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.*/
#include <iostream>
 
using namespace std;
 
class cArray     //клас массив
{
private:
    int *arr;// массив
    int n; //размер массива
    int m; //начало отчета массива
public:
    cArray(int k)         //конструктор стандартный
    {
        m = 0;                //считаем с 0
        arr = new int[k];   //выделили память
        n = k;                 //запомнили размер
        for (int i = 0; i <= n; i++)
            arr[i] = rand() % 23;    //заполнили числами
    }
    cArray(int a, int b)    //  конструктор с возможность задания произвольных границ индексов
    {
        m = a;               //считаем с a
        arr = new int[b - a]; //выделили память
        n = b - a;              //запомнили размер
        for (int i = 0; i <= n; i++)
            arr[i] = rand() % 44;    //заполнили числами
    }
 
 
    int& operator[] (int k)   //оператор [] - обращение к отдельному элементу массива
    {
        if (k<m || k>n + m)       //если указан индекс меньше нижней границы или больше размера
        {
            cout << endl << "Wrong index of massive!" << endl; //пишем что нельзя такого делать
            return arr[0];
            //  cin.get();
            //  exit(1);        //выходим из программы
        }
        return arr[k - m];   //если указан верный индекс, возвращаем значение элемента
    }
 
    void cArray::Print(int k1, int k2)   //процедура вывода чисел с индексами k1..k2 на экран
    {
        for (int i = 0; i <= k2 - k1; i++)    //цикл по таким числам
        {
            cout << arr[i] << " ";      //выводим на экран
        }
        cout << endl;
    }
    cArray operator+ (cArray b)     //оператор + - сложение массивов по одинаковым границам
    {
        cArray temp(n);            //создали новый массив размером n
        for (int i = 0; i <= n; i++)      //цикл по массиву
            temp[i] = arr[i] + b[i];   //заполняем новый массив как сумму массивов
        return temp;               //возвращаем массив сумм
    }
    cArray operator- (cArray b)   // - аналогично
    {
        cArray temp(n);
        for (int i = m; i <= n; i++)
            temp[i] = arr[i] - b[i];
        return temp;
    }
    cArray operator / (int z)    //деление на число
    {
        cArray temp(n);         //создали новый массив
        for (int i = 0; i <= n; i++)   //цикл по массиву
            temp[i] = arr[i] / z;    //разделили на число
        return temp;
    }
    cArray operator * (int z)     //аналогично умножение на число
    {
        cArray temp(n);
        for (int i = 0; i <= n; i++)
            temp[i] = arr[i] * z;
        return temp;
    }
    ~cArray()                 //деструктор
    {
        delete[] arr;
    }
};
 
int main()
{
    char key = 0;        //для менюшки
 
 
    while (1)      //бекс цикл
    {
        //  srand(time(NULL));      //генератор случайных чисел
        cArray cA(10);  //создали массив из 11 элементов (нумерация 0 1 2 3 4 5 6 7 8 9 10)
        cArray cB(2, 6); //создали массив с нумерацией (2 3 4 5 6 )
        //  system("cls");   //чистим экран
        //дальше пункты меню
        cout << "1 - Create mas A(0:10) and test a[0] and a[11]\n";
        cout << "2 - Write mas A(0:10) \n";
        cout << "3 - Create mas B(2:6) and test b[2] and b[7]\n";
        cout << "4 - Write mas B (2:6) \n";
        cout << "5 - Create mas C (0:10) and C+A \n";
        cout << "6 - Create mas D (2:6) and D-B \n";
        cout << "7 - Test * and / for const\n";
        cout << "0 - Exit\n";
        cin >> key;     //выбираем пункт
        cout << '\n';
        switch (key)   //смотря какой выбрали
        {
        case '1':
        {
                    cA.Print(0, 10);                //вывели нумерация 0 - 10
                    cout << "a[0] = " << cA[0] << endl;    //пытаемся вывести 0
                    cout << "a[1] = " << cA[1] << endl;    //пытаемся вывести 1
                    cout << "a[2] = " << cA[2] << endl;    //пытаемся вывести 2
                    cout << "a[3] = " << cA[3] << endl;    //пытаемся вывести 3
                    cout << "a[4] = " << cA[4] << endl;    //пытаемся вывести 4
                    cout << "a[5] = " << cA[5] << endl;    //пытаемся вывести 5
                    cout << "a[6] = " << cA[6] << endl;    //пытаемся вывести 6
                    cout << "a[-1] = " << cA[-1] << endl;  //пытаемся вывести -1
                    cout << "a[11] = " << cA[11] << endl;  //пытаемся вывести 11
                    cin.get();
                    break;
        }
        case '2':
        {cout << "Massive A : " << endl;
        cA.Print(0, 10); //вывели нумерация 0 - 10
        cin.get();
        break;
        }
        case '3':
        { cB.Print(2, 6);  //вывели нумерация 2 - 6
        cout << "b[2] = " << cB[2] << endl;
        cout << "b[3] = " << cB[3] << endl;
        cout << "b[4] = " << cB[4] << endl;
        cout << "b[5] = " << cB[5] << endl;
        cout << "b[6] = " << cB[6] << endl;
        cout << "b[1] = " << cB[1] << endl;
        cout << "b[7] = " << cB[7] << endl;
        cin.get(); }
            break;
        case '4':
        {    cout << "Massive B : " << endl;
        cB.Print(2, 6);  //вывели нумерация 2 - 6
        cin.get(); }
            break;
        case '5':
        {    cout << "Massive C : " << endl;
        cArray cC(10);  //создали массив из 10 элементов (нумерация 0 1 2 3 4 5 6 7 8 9)
        cC.Print(0, 10);   //вывели С
        cout << "+ Massive A : " << endl;
        cA.Print(0, 10); //вывели А
        cout << "Result (C + A) : " << endl;
        cC = cC + cA;          //сложили
        cC.Print(0, 10);    //вывели С
        cin.get();
        break;        }
        case '6':
        { cout << "Massive D : " << endl;
        cArray cD(2, 6);  //создали массив из 10 элементов (нумерация 0 1 2 3 4 5 6 7 8 9)
        cD.Print(2, 6);   //вывели Д
        cout << "+ Massive B : " << endl;
        cB.Print(2, 6);    //вывели Б
        cout << "Result (D - B) : " << endl;
        cD = cD - cB;         //вычли
        cD.Print(2, 6);    //вывели результат
        cin.get();
        break;   }
        case '7':
        { int con;
        con = rand() % 10 + 1;     //констнта - рандомное число от 1 до 10
        cout << "Let us choose const... It would be : " << con << endl;
        cout << "Massive A : " << endl;
        cA.Print(0, 10);   //выводим А
        cout << "Massive B : " << endl;
        cB.Print(2, 6);     //выводим Б
        cout << "Now will calculate A*con and B/con : " << endl;
        cA = cA*con;  //А умножаем на чило
        cB = cB / con;  //Б делим на число
        cout << "Massiva A * con  : " << endl;
        cA.Print(0, 10); //результат выводим
        cout << "Massive B / con : " << endl;
        cB.Print(2, 6);  //результат выводим
        cin.get();
        break;       }
 
        case '0': {exit(0); }   //выходим из прогр
        }
    }
}


Вернуться к обсуждению:
Класс массив. Задания произвольных границ индексов массива C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2015, 17:39
Готовые ответы и решения:

Написать класс для динамического массива с проверкой границ (что подразумевают под инициализацией?)
Привет, народ, есть такое задание: 2. написать класс для динамического массива с проверкой...

Вывести массив из индексов элементов массива
Вечер добрый! Передо мной стоит задача: Создать целочисленный массив массивов. Количество строк и...

Процедура на массив - Индекс находился вне границ массива
У меня есть процедура нa добавление в массив var i,a:integer; arr:array of integer; procedure...

Составить массив B из индексов положительных элементов массива А
Помогите написать про-гу плз ... Дан массив A 9 составить массив B из индексов положительных...

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

Запись определенных индексов из массива в другой массив
Привет. Имеется массив следующего вида: string types = {&quot;a&quot;, &quot;b&quot;, &quot;c&quot;, &quot;a&quot;, &quot;b&quot;, &quot;c&quot;,&quot;a&quot;,...

В двумерном массиве A(4,4) произвольных чисел вычислить сумму элементов, модуль разности индексов которых равен 2.
В двумерном массиве A(4,4) произвольных чисел вычислить сумму элементов, модуль разности индексов...

Создать массив из индексов положительных элементов другого массива
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { double x = {...

Составить массив из индексов нулевых элементов заданного массива
2) В одномерном массиве имеются нулевые элементы. Составить одномерный массив из их индексов.

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru