С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 3

производный класс 3D массив

09.03.2012, 21:01. Показов 738. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста. На основе класса «Матрица» создать производный класс «3D массив». Класс содержит
массив, каждый элемент которого является матрицей. В классе должны быть переопределены
функции ввода и вывода значений массива. В классе должна быть определена функция поиска
суммы элементов массива.

Основа программы
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
//Файл main.cpp. Драйвер класса Matrix.
#include<iostream.h>
#include"matrix.h"
main( )
{
    Matrix A; 
    int B, i, j;
    cout<<"Matrix B="<<endl;
    A.vvod();
 
    A.operator--();
    cout<<"Matrix --"<<endl;
    
        A.operator++();
    cout<<"Matrix ++" <<endl;
 
    A.print();
        
           
   cout<<"Trans Matrix B=" <<endl;
    A.trans();
   
    system("Pause");
    return 0;
} 
 
//Файл Matrix.cpp. Реализация класса Matrix.
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include"Matrix.h"
void Matrix::vvod()
{ 
     srand(time(NULL));
     for (int i=0; i<3; i++)
     for (int j=0; j<3; j++)
{B[i][j]=rand()%100; }
} 
 
 
void Matrix::operator--( ){
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[i][j] << ", ";
}
cout << endl;
}
}
 
void Matrix::operator++( ){
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[i][j]-1 << ", ";
}
cout << endl;
}
}
 
 
 
void Matrix::trans()
 
{
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[j][i] << ", ";
}
cout << endl;
}}
 
  
 
void Matrix::print( ){
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[i][j] << ", ";
}
cout << endl;
}
}
 
// Файл Matrix.h. Описание класса Matrix.
#ifndef MATRIX_H
#define MATRIX_H
class Matrix{
             friend ostream& operator <<( ostream &, Matrix &);
    friend istream& operator >>(istream &, Matrix &);
        friend void operator ++(Matrix &);
        friend void operator --(Matrix &);
    public:
      
        void operator=(Matrix &);
            void operator++();
        void operator--();
        void vvod ();
        void print (); 
        void trans();
    
        
    private:
    int B[3][3];
};
#endif;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2012, 21:01
Ответы с готовыми решениями:

Разработать производный от абстрактного класса Figure класс и класс, производный от производного
Разработать базовый абстрактный класс Figure с пустым виртуальным методом print для вывода в дальнейшем полной информации об объекте: ...

Есть производный класс и базовый; при чём производный использует только ЧАСТЬ ресурсов базового, правильно ли это?
Ну то есть базовый класс A, с полями, допустим, a, b, c, d. И я проектирую производный класс B и я железно знаю, что он будет использовать...

Базовый класс Complex и производный класс для реализации квадратных матриц
1) Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними:...

1
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
09.03.2012, 21:28
Боюсь что задание кривое. Насделование должно выражать факт того, что наследник является родителем и везде, где требуется указатель\ссылка на родителя можно подставлять указатель\ссылку на наследника. Так вот трехмерная матрица интов не является двухмерной матрицей интов (вырожденные случаи рассматривать не стоит). Если следовать заданию и делать трехмерную матрицу наследованием, то получится франкенштейн. Рассмотрите реализацию трехмерной матрицы не с использованием наследования от двухметрной, а за счет включения.

Т.е. из исходного задания подчеркнутое удалить:
На основе класса «Матрица» создать производный класс «3D массив». Класс содержит
массив...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2012, 21:28
Помогаю со студенческими работами здесь

Создать класс Point и производный класс ColoredPoint (цветная точка)
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте производный класс ColoredPoint (цветная точка), в...

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru