Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
warspirit
3 / 3 / 0
Регистрация: 30.03.2011
Сообщений: 61
16.10.2012, 22:08  [ТС] 0

Класс, обеспечивающий представление матрицы произвольного размера

16.10.2012, 22:08. Просмотров 2569. Ответов 10
Метки (Все метки)

Ответ

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
// ConsoleApplication5.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include<math.h>
#include <stdlib.h>            // для функций работы с числами
#include <stdio.h>             // для printf
 
 
using namespace std;
 
class matrix
    {
    private:
        int rows;
        int cols;
        int **intdata;
        
        bool creatematrix();
    public:
        matrix(int row=1, int col=1); // конструктор
         ~matrix(void); // деструктор
        int getat(int row, int col); // получить
        void setat(int col, int row, int data); //записать
        void display();
        void fill();
    };
 
matrix::matrix(int row, int col)
    {
        rows=row;
        cols=col;
        creatematrix();
        return;
    };
 
matrix::~matrix()
    {
        for (int i=0;i<this->rows;i++)
            delete[] this->intdata[i];
        delete[] this->intdata;
    };
bool matrix::creatematrix()
{
  if (!(this->rows>0 && this->cols>0)) 
        return false;
    this->intdata=new int* [this->rows];
    for(int i=0; i<this->rows;i++)
        this->intdata[i]=new int [this->cols];
    return true;
};
    
 
int matrix::getat(int row, int col)
    {
    if (row < 0 || row > rows)
        row=0;
    if (col < 0 || col > cols)
        col=0;
    return intdata[row][col]; 
    };
 
void matrix::setat(int row, int col,int data)
{
    if (row < 0 || row > rows)
        row=0;
    if (col < 0 || col > cols)
        col=0;
    intdata[row][col]=data;
}; 
 
void matrix::fill()
{
    for (int j=0;j<rows;j++)
    {
        for (int i=0;i<cols;i++)
        {
            intdata[j][i]=(int)rand();
        };
    }
    getch();
        return;
};
 
 
void matrix::display()
{
    printf("\n Matrix \n");
    for (int j=0;j<rows;j++){
        printf("Row:%i>", j);        // нумеруем каждый ряд
        for (int i=0;i<cols;i++){
            printf("%5.0f ",intdata[j][i]); // печатаем колонки
        }
       
    }
    return;
};
 
 
void main()
{
    // спросим сколько колонок и строк
    int row,col;
    cout << "\nRow ?:" ;
    cin >> row ;
    cout << "\nCol ?:" ;
    cin >> col ;
 
 
    matrix Matrix1(row,col);    // создадим нашу матрицу
    Matrix1.fill();                               // заполним значениями
    Matrix1.display();                        // и покажем результаты
}
выводит "0" постоянно

Добавлено через 25 минут
Нашел сам ошибку - "printf("%5.0f ",intdata[j][i]); "
"%5.0f"

Вернуться к обсуждению:
Класс, обеспечивающий представление матрицы произвольного размера
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 22:08
Готовые ответы и решения:

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

Класс: Составить описание класса, обеспечивающего представление матрицы произвольного размера...
помогите пожалуйста написать программу, только чтобы она была как можно проще ...

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

Составить описание класса, обеспечивающего представление матрицы произвольного размера
вариант1 Условие задачи: Составить описание класса, обеспечивающего...

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

10
Другие темы раздела
C++ Intel compiler. icl time? http://www.cyberforum.ru/cpp-beginners/thread672638.html
Доброго времени суток. У меня вопрос по поводу команд в компиляторе Интел с++. в gcc есть команда time и можно узнать время компиляции, подскажите, пожалуйста, аналогичную команду на интеле? Шарил...
C++ Ошибка в цикле Суть задачи: Разработать программу для приближенного вычисления величины y=Ʃ(1/((2*n+1)*(2*n-1))) , n=1,2,3,... Процесс вычисления величины y закончить, когда будет выполнено неравенство... http://www.cyberforum.ru/cpp-beginners/thread672637.html
C++ найти два максимальных значения в массиве
Собственно, не получается реализовать нахождение второго максимального значения: // Найдти 2 максимальных значения без сортировки массива и // и дополнительных элементов (контейнеры и доплнительные...
Вычислить количество сочетаний C++
Здравствуйте,помогите написать программу на c++, вот сам текст задания: "Количество сочетаний из N элементов по M (N ≥ 0, 0 ≤ M ≤ N) вычисляется по формуле Cmn=N!/M!(N-M)! Для заданных...
C++ Проблемка с скачиванием не маленьких файлов в цикле http://www.cyberforum.ru/cpp-beginners/thread672612.html
Всем привет) Пишу софтину на с++, вкратце, что она делает: 1) Берет из файла links.txt ссылки, на которые нужно перейти. 2) Берет из файла string.txt строчку (текст), что нужно найти. 3) В цикле...
C++ Вычислить сумму элементов матрицы в заштрихованных ячейках, показанных на рисунке Вычислить сумму заштрихованных элементов матрицы показанных на рисунке. подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru