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

Класс матриц на базе контейнера deque

25.07.2022, 23:25. Показов 458. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <deque>
#include <iostream>
 
using namespace std;
 
class Cmatrix
{
  deque<deque<int>> Matrix;
  int getSum(const int n);
  
  public:
    Cmatrix(const int, const int);
    Cmatrix(const Cmatrix*, const int&, const int&, const int&);
    void print();
    int findMaxSumNum(void);
    int getElem(const int, const int) const;
};
 
Cmatrix::Cmatrix(const int i, const int j)
{
    Matrix.resize(i);
    for (int k = 0; k < Matrix.size(); k++) Matrix[k].resize(j);
    
    for (int k1=0;k1<i; k1++)
      for (int k2=0;k2<j; k2++) Matrix.at(k1).at(k2)=rand() % 10;
};
 
int Cmatrix::getElem(const int i, const int j) const
{
    return this->Matrix.at(i).at(j);
}
 
Cmatrix::Cmatrix(const Cmatrix* M, const int& start, const int& stop, const int& j)
{
   Matrix.resize(stop-start+1);
   for (int k = 0; k <Matrix.size(); k++) Matrix[k].resize(j)
   ;
   for (int i=0;i<Matrix.size(); i++)
      for (int j=0; j<Matrix.at(i).size(); j++) Matrix.at(i).at(j)=M->getElem(i+start,j);
}
 
void Cmatrix::print()
{
    for (int j=0; j<Matrix.at(0).size(); j++)
    {
      for (int i=0;i<Matrix.size(); i++) cout<<Matrix.at(i).at(j)<<" ";
      cout<<endl;
    }
}
 
int Cmatrix::getSum(const int n)
{
    int Sum = 0;
    for (int i=0;i<Matrix.at(n).size();i++) Sum+=Matrix.at(n).at(i);
    return Sum;
}
 
int Cmatrix::findMaxSumNum(void)
{
    int MaxSum=getSum(0);
    int MaxSumNum(0);
    for (int i=1; i<Matrix.size(); i++)
    {
        int _t = getSum(i);
        if (MaxSum<_t)
        {
            MaxSum=_t;
            MaxSumNum=i;
        }
    }
    return MaxSumNum;
}
 
int main(void)
{
    srand (time(NULL));
    int a(4),b(5);
    Cmatrix M(a,b);
    M.print();
    int m(M.findMaxSumNum());
    cout<<"MaxSumNum = "<<m+1<<endl;
    
    int mstart(0),mstop(a);
    
    if ((m+1)%2==0) mstop=m;
    else {mstart=m+1; mstop--;};
    
    Cmatrix M2(&M,mstart,mstop,b);
    M2.print();
    return 0;
}
Объясните пж подробно как эта прога работает, и за что отвечают каждый из идентификаторов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2022, 23:25
Ответы с готовыми решениями:

Шаблонный класс Deque
Помогите пожалуйста решить вот такую задачу: Класс Deque шаблонный.Добавление и удаление...

Реализовать класс Deque
Добрый день! Возникла проблема с решением задачи, описание которой привожу ниже. Реализуйте...

Определите класс матриц. Напишите перегруженные конструкторы для создания одномерной и двумерной матриц. В конструкторы передаются размерности матриц
Доброго времени суток всем) Извините если не в том разделе) Не могу понять как решить данную...

Разработать шаблонный класс Deque c разными методами
Разработать шаблонный класс Deque, который имеет следующие методы: - addBegin(n) - добавление в...

Разработать шаблонный класс Deque, который имеет следующие методы:
- addBegin(n) - добавление в начало дека - addEnd(n) - добавление в конец дека - T outBegin() -...

1
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
27.07.2022, 11:06 2
а в теме, из которой ты её украл и у автора, который её написал
Сформировать матрицу из указанных столбцов
Там тебе спросить никак нельзя?
0
27.07.2022, 11:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2022, 11:06
Помогаю со студенческими работами здесь

Создание двумерного массива на базе контейнера vector
vector&lt;vector&lt;int&gt;&gt;sum; for(size_t i = 0; i&lt;m;++i) { arr2=new int; for(size_t j = 0;...

Есть Deque, он заполнен 100 числами от -50 до 50. Нужно найти минимальный элемент, а затем каждый элемент Deque умножить
Здравствуйте. Задание следующие: есть Deque, он заполнен 100 числами от -50 до 50. Нужно найти...

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

Создать класс матриц, обеспечивающий размещение матриц произвольного размера
Не знаю правильно ли вообще написана прога(по заданию имею ввиду), но она вообще не работает, не...

Как из контейнера docker подключиться к внешней удалённой базе данных?
Изучаю докер и пытаюсь подключиться из контейнера к внешней базе данных, пока безуспешно. В...


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

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