Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
russoof
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 11
#1

Описать класс матрицы - C++

13.12.2011, 04:00. Просмотров 598. Ответов 1
Метки нет (Все метки)

Описать класс «Матрица», инкапсулирующий в себе данные матрицы и операции для работы с ней. Создать программу (использующую данный класс), позволяющую на выбор пользователя выполнять арифметическое действие.
Требования к программе:
Обязательное наличие в классе:

• конструктора по умолчанию (заполняющего матрицу нулями);
• перегруженной операции «<<», выводящей данные на экран в матричной форме;
• метода возвращающего размер матрицы.

При реализации класса возможно использование обычных массивов, например, размером 10x10 элементов. Возможна перегрузка других операций, если это необходимо для реализации программы. Для вывода информации на экран, необходимо разработать интерактивное меню (простое).

Поиск суммы сумм строк матрицы Создает матрицу заданного размера, заполненную числами, уменьшающимися на 1 от заданного числа.

Кто чем поможет...спасибо заранее...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 04:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать класс матрицы (C++):

Описать класс, обеспечивающий представление матрицы - C++
Ребята, убедительная просьба, нужно срочно сделать лабораторную работу, задание для которой звучит следующим образом: Описать...

Описать класс «матрица». Добавить метод, вычисляющий определитель матрицы - C++
Описать класс «матрица». Добавить метод, вычисляющий определитель матрицы, чтение из файла и запись в файл. Помогите кто может, хотя...

Описать класс, обеспечивающий представление квадратной матрицы произвольного размера - C++
Составить описание класса, обеспечивающего представление квадратной матрицы произвольного размера. Предусмотреть возможность сложения и...

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

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

Описать класс Path - C++
Описать класс Path, содержащий следующие поля: · Название начального пункта маршрута · Название конечного пункта маршрута...

1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
13.12.2011, 09:36 #2
Цитата Сообщение от russoof Посмотреть сообщение
Поиск суммы сумм строк матрицы Создает матрицу заданного размера, заполненную числами, уменьшающимися на 1 от заданного числа.
Щитооо!? Бредятина какая-то.
"Полет ужа создает крота, поющего баритоном под куполом цирка, уменьшающегося на единицу от заданного числа".

Добавлено через 22 минуты
Ну если отбросить бредятину и все по-минимуму, то как-то так.
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
template <class T>
class Matrix {
 public:
  Matrix(size_t height, size_t width) : height_(height), width_(width),
    data_(new T[width * height]()) {}
  ~Matrix() {
    delete [] data_;
  }
  T &get(size_t row, size_t col) {
    return data_[row * width() + col];
  }
  T &get(size_t row, size_t col) const {
    return data_[row * width() + col];
  }
  void set(size_t row, size_t col, const T &value) {
    data_[row * width() + col] = value;
  }
  size_t width() const {
    return width_;
  }
  size_t height() const {
    return height_;
  }
  friend std::ostream &operator<<(std::ostream &stream, const Matrix &matrix) {
    for (size_t i = 0; i < matrix.height(); ++i) {
      for (size_t j = 0; j < matrix.width(); ++j)
        stream << std::setw(6) << matrix.get(i, j) << " ";
      stream << std::endl;
    }
    return stream;
  }
  T rowSum(size_t row) const {
    T result = 0;
    for (size_t i = 0; i < width(); ++i)
      result += get(row, i);
    return result;
  }
 private:
  // no copy-create
  Matrix(const Matrix &matrix);
  // no assignment
  Matrix &operator=(const Matrix &matrix);
  size_t height_;
  size_t width_;
  T* data_;
};
 
int main(int argc, char *argv[]) {
  srand(time(0));
  Matrix<int> a(5, 5);
  
  for (size_t i = 0; i < a.height(); ++i)
    for (size_t j = 0; j < a.width(); ++j)
      a.set(i, j, rand() % 20);
 
  std::cout << a << std::endl;
 
  int rowsSum = 0;
  for (size_t i = 0; i < a.height(); ++i) {
    rowsSum += a.rowSum(i);
  }
  std::cout << "Sum of rows' sums: " << rowsSum << std::endl;
 
  return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2011, 09:36
Привет! Вот еще темы с ответами:

Описать класс прямоугольника - C++
help!!!!! описать класс прямоугольника с полями: координаты левого верхнего и правого нижнего углов.Задать функцию сравнения периметров...

Описать класс Матрица - C++
Описать класс Матрица. C++

Описать класс «трапеция» - C++
Помогите исправить что здесь может быть не правильно Описать класс «трапеция», реализующий методы определения площади и периметра. ...

Описать класс Fraction - C++
здравствуйте нужна ваша помощь задание Создайте класс Fraction. Данные класса должны быть представлены двумя полями: числителем и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru