Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Lokosios
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 32
#1

Матрица, ручной ввод элементов

25.05.2012, 21:58. Просмотров 610. Ответов 1
Метки нет (Все метки)

Ещё раз здравствуйте. Встала такая проблема, не получается переделать рандомное заполнение матрицы на ручное. Помогите, либо отошлите в тему, где это подробно описано)

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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include "iostream"
#include "ctime"
#include "stdlib.h"
 
using namespace std;
 
class Matrix
{
    int m; // количество строк
    int n; // количество столбцов
    double **Matr;
public:
    Matrix(int _n, int _m);
 
    void MatrixInit(int, int);
    void random_put();
 
    Matrix operator+(Matrix );
 
    Matrix operator+(int );
    Matrix operator+(double );
 
    void operator=(int );
    void operator=(double );
 
    double operator()(int, int);
 
    void Print();
 
};
 
Matrix::Matrix(int _n, int _m)
{
    n = _n;
    m = _m;
    Matr = new double*[m];
    for(int i=0; i<m; i++)
        Matr[i]=new double[n];
}
 
void Matrix::random_put()
{
    srand((unsigned)time(NULL));
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            Matr[i][j]=(rand()%10+1)+0.2;
}
 
Matrix Matrix::operator+(Matrix A)
{
    Matrix temp(A.n, A.m);
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            temp.Matr[i][j]=Matr[i][j] + A.Matr[i][j];
    return temp;
}
 
Matrix Matrix::operator+(int A)
{
    Matrix temp(n, m);
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            temp.Matr[i][j]=Matr[i][j] + A;
    return temp;
}
 
Matrix Matrix::operator+(double A)
{
    Matrix temp(n, m);
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            temp.Matr[i][j]=Matr[i][j] + A;
    return temp;
}
 
void Matrix::operator=(int A)
{
 
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            Matr[i][j]= A;
 
}
 
void Matrix::operator=(double A)
{
 
    for(int i=0; i<m; i++)
        for(int j=0; j<n; j++)
            Matr[i][j]= A;
 
}
 
double Matrix::operator()(int index, int index2)
{
    if(index >= 0 && index2 >= 0)
        if( index <= n && index2 <= m)
            return Matr[index][index2];
        else
            cout << "error index";
    else
        cout << "error index";
}
 
void Matrix::Print()
{
    for(int i=0; i<m; i++)
    {
        cout << endl;
        for(int j=0; j<n; j++)
            cout << Matr[i][j] << " ";
    }
    cout <<endl;
}
 
int main()
{
    Matrix Q(4,5);
    Q.random_put();
    Q.Print();
 
    Matrix W(4,5);
    W.random_put();
    W.Print();
 
    W = Q + W;
    W.Print();
 
    W = Q + 1;
    W.Print();
 
    Q = 2.7;
    cout << endl << Q(0,0) << endl;
    char ch;
    cin >> ch;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 21:58
Ответы с готовыми решениями:

Ручной ввод элементов
Эта программа сама в случайном порядке пишет элементы в массиве. Помогите,...

Массивы: ручной ввод
Всех с НОВЫМ ГОДОМ!!!!!!!!!!!!!! но НГ,а мне надо завтра сдавать работу.......

Заменить рандом на ручной ввод
как переделать функцию add чтоб можно было вводить данные с клавиатуры...

Нахождение детерминанта матрицы и её ручной ввод
Здравствуйте! Который вот уже день бьюсь! Не могу найти ошибку! Нужно...

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

1
Andrey.K
344 / 265 / 128
Регистрация: 14.11.2010
Сообщений: 482
25.05.2012, 22:20 #2
Там где функция, которая заполняет рандомно ,можешь можешь заменить на :
C++
1
2
3
4
5
6
7
8
9
10
11
 
void Matrix::random_put()
{
    for(int i=0; i<m; i++)
    {
        for(int j=0; j<n; j++)
        {
            cout<<"Vvedite ["<<i<<"]["<<j<<"] element: ";cin>>Matr[i][j];
        }
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2012, 22:20

Ручной ввод количества знаков после запятой
Добрый вечер. Мне необходимо чтобы пользователь руками мог указать сколько...

Как переделать рандомное заполнение матрицы на ручной ввод?
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; #include...

Организовать ручной ввод 80-значных чисел вместо случайного ввода
нужна помощь, как организовать ручной ввод чисел вместо случайного ввода?...


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

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

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