Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Error LNK 2019. VS 2010 https://www.cyberforum.ru/ cpp-beginners/ thread532833.html
Решил написать программу - суть: попытка создания заготовки для меню. смысл этой проги - тупо выводить на экран 11111111111 00000000000 00000000000 и т.п. если нажато S - то на строчку вниз перемещаются 1
C++ Может ли шахматный конь перейти в указанную клетку доски?
Собственно условие такое, задаются начальные и конечные координаты от 1 до 8 (шахматная доска). И если шахматная фигура конь может так пойти, значит вывести тру, иначе фолс. Если кто не знаком с шахматами конь ходит буквой Г две клетки в одну сторону и загибает одну клетку в другую. Проблема с ифом, не нравится ему #include <iostream> #include <conio.h> #include <math.h> #include <stdio.h>...
C++ Упорядочить массив В(5,4) по невозрастанию элементов третей строки https://www.cyberforum.ru/ cpp-beginners/ thread532823.html
Упорядочить массив В(5,4) по невозрастанию элементов третей строки. вывести получившийся массив, найти минимальный элемент массива
C++ Оптимальный алгоритм рисования линий https://www.cyberforum.ru/ cpp-beginners/ thread532817.html
1) Является ли алгоритм рисования линии перебором точек оптимальным? for(float i=Xmin, j; i<=Xmax; i+=0.001) { j = k*i + b; drawpixel(i, j); } 2) если нет, то какой был бы наиболее оптимальным?
C++ Взять матрицу 3 на 3 и заменить столбец...
Взять матрицу 3 на 3 и заменить столбец, номер которого вводится с клавиатуры, на единицу.
C++ Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. https://www.cyberforum.ru/ cpp-beginners/ thread532809.html
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. Посмотрите пожалуйста... Добавлено через 22 минуты Кто-нибудь помогите....)))
C++ Поменять местами первый и последний символ в строке Дана строка S. Поменять местами первый и последний символ в строке https://www.cyberforum.ru/ cpp-beginners/ thread532798.html C++ Для массива А(10),состоящего из трехзначных чисел получить массив D, в который войдут все...
Для массива А(10),состоящего из трехзначных чисел получить массив D, в который войдут все использованные цифры (с повторениями), встречающиеся в элементах массива А. Например,если А(1)=343, А(2)=118, то D(1)=3, D(2)=4, D(3)=3, D(4)=1, D(5)=1, D(6)=8
C++ Дана строка S1. Удалить в ней все вхождения символа '*' https://www.cyberforum.ru/ cpp-beginners/ thread532785.html
Здравствуйте. Помогите сделать. Дана строка S1. Удалить в ней символы *(звездочка).
C++ Дано расстояние в сантиметрах.Найти число полных метров в нем https://www.cyberforum.ru/ cpp-beginners/ thread532783.html
Дано расстояние в сантиметрах.Найти число полных метров в нем ?
C++ масив задача C++
В одномерном массиве выполнить необходимые расчеты и преобразования. Количество нулевых элементов массива. Сумму элементов массива, расположенных после минимального элемента. Расположить элементы массива в порядке увеличения их модулей.
C++ Написать программу которая расчитает обьем, радиус. Напишите программу, в которой определите макрос с одним аргументом, при помощи которого можно было бы вычислять объем сферы. Программа должна рассчитать объем сферы, радиус которой изменяется от 1 до 10, и выдать результаты в табличной форме. Формула для объема сферы: ( 4.0 / 3 )* р * (r ^ 3) где р равно 3.14159. https://www.cyberforum.ru/ cpp-beginners/ thread532780.html
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,520
Записей в блоге: 1
28.03.2012, 15:26 0

Определить класс ограниченного массива - C++ - Ответ 2845681

28.03.2012, 15:26. Показов 1128. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено Isya Shmonder как решение

Решение

Цитата Сообщение от Isya Shmonder Посмотреть сообщение
Такое задание по ООП.
Определить класс ограниченного массива вещественных чисел, индексы элементов которого могут принимать отрицательные значения. Пример объявления массива и обращения к его элементам.
Mdouble x (-30, 50);
x[-30] = 1.2; x [0] =0. ; x [50] = -1
Заранее благодарен.
А если первый параметр в конструкторе задать положительным, отсчёт индексов должен будет вестись от нуля, или от этого параметра?
C++
1
2
Mdouble x (30,50);//Разрешено ли так?
x[0]=1.2;//А так разрешено, если задано id начала массива=30

Короче, вот ответ:
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
#include <iostream> 
#include <fstream>
using namespace std;
class signed_array{
protected:
    int start, end;
    float* data;
public:
    signed_array(int s=0, int e=0){
        if (s<=e) {
            start=s;
            end=e;
            data=new float[e-s];
        }
        else {
            start=end=0;
            cerr<<"array["<<s<<"]["<<e<<"] is invalid"<<endl;
            data=new float[0];
        }
        if (!data) cerr<<"out of memory"<<endl;
    }
    int get_start(){return start;}
    int get_end(){return end;}
    signed_array(signed_array& src){
        int i;
        start=src.start;
        end=src.end;
        data=new float[end-start];
        if (!data) {cerr<<"out of memory"<<endl;}
        for (i=0; i<end-start; i++) data[i]=src.data[i];
    }
    signed_array& operator = (signed_array& src){
        if (data) delete[] data;
        int i;
        start=src.start;
        end=src.end;
        data=new float[end-start];
        if (!data) cerr<<"out of memory"<<endl;
        for (i=0; i<end-start; i++) data[i]=src.data[i];
    }
    ~signed_array(){
        if (data) delete[] data;
    }
    float& operator [] ( int index ) const{
        if ((index>=start)&&(index<=end)) return (data[index-start]);
        return (data[0]);
    };
 
};
int main(){
    char c;
    signed_array test(-5, 5);
    test[-4]=2.0;
    test[-2]=0.5;
    test[-3]=test[-4]+test[-2];
    cout<<"test[-4]="<<test[-2]<<endl;
    cout<<"test[-3]="<<test[-4]<<endl;
    cout<<"test[-2]="<<test[-3]<<endl;
    cin>>c;
    return 0;
}


Вернуться к обсуждению:
Определить класс ограниченного массива C++
1
Заказать работу у эксперта
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.03.2012, 15:26
Готовые ответы и решения:

Создать класс Triad (тройка чисел); определить метод сравнения триад. Определить производный класс Date
Создать класс Triad (тройка чисел); определить метод сравнения триад. Определить производный класс...

Определить объем тела, ограниченного данными поверхностями
Определить объем тела, ограниченного данными поверхностями z=sqrt(9-x^2-y^2); z=sqrt(x^2+y^2/80)

Определить площадь круга, ограниченного окружностью заданной длины
Известна длина окружности L. Определить площадь круга, ограниченного этой окружностью.

Реализовать дек ограниченного размера на базе массива
Деком называют структуру, которая сочетает очередь и стек : добавлять и убирать элементы можно с...

1
28.03.2012, 15:26
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2012, 15:26
Помогаю со студенческими работами здесь

Определить момент инерции относительно оси Oz тела, ограниченного поверхностями?
Как определить момент инерции относительно оси Oz тела, ограниченного поверхностями z^2=2ax, z=0,...

Длина окружности. Определить площадь круга, ограниченного этой окружностью.
Известна длина окружности. Определить площадь круга, ограниченного этой окружностью. Помогите...

Определить площадь прямоугольника, ограниченного координатами точки и осями координат
Точка на плоскости: координаты точки на плоскости (по горизонтали и верти- кали) x1 и y1 ...

Определить, сколько точек множества расположено вне круга, ограниченного окружностью
помогите исправить программу //Дано множество точек на плоскости. Сколько точек этого множества ...

0
Новые блоги и статьи
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
Как работать со скрытыми (hidden) элементами в jQuery
InfoMaster 18.01.2025
В современной веб-разработке управление видимостью элементов на странице является одним из ключевых аспектов создания интерактивных пользовательских интерфейсов. jQuery предоставляет мощный набор. . .
Как переключаться между ветками (Branch) с помощью checkout в Git
InfoMaster 18.01.2025
Ветки в Git являются одной из ключевых концепций для управления версионностью кода, позволяя разработчикам эффективно работать в команде и параллельно развивать программные проекты. Каждый новый. . .
Что такое стек и куча, чем они отличаются и где находятся
InfoMaster 18.01.2025
Понимание основных концепций памяти в программировании В мире современного программирования эффективное управление памятью играет ключевую роль в создании производительных и надежных приложений. . . .
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru