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

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

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

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

25.05.2012, 21:58. Просмотров 536. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 21:58     Матрица, ручной ввод элементов
Посмотрите здесь:

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

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

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

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

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

Организовать ручной ввод 80-значных чисел вместо случайного ввода - C++
нужна помощь, как организовать ручной ввод чисел вместо случайного ввода? заранее спасибо вот код: #include &lt;iostream&gt; #define N 80 ...

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

матрица и ее ввод\вывод из фаила - C++
Доброго дня ув. форумчане. Пожалуйста помогите исправить программу, делал в Visual Studio 2006, вылазит множество ошибок, я никак не могу...

Матрица: ввод, вывод, выполнение задания. Оформление с функциями и меню - C++
Сделать с тремя функциями:ввод массива, вывод массива, выполнение задания. Для выбора одной из трех оформить меню. ...

Написать программу, вычисляющую сумму элементов. Ввод элементов продолжается до тех пор, пока не будет введен - C++
Написать программу, вычисляющую сумму элементов. Ввод элементов продолжается до тех пор, пока не будет введен символ &quot;n&quot;. помогите...

Матрица, Произведение элементов в тех строках,который не содержат отрицательных элементов - C++
ребята помогите пожалуйста!! Матрица заполняется рандомно от5 до -5 Дана целочисленная квадратная матрица. Определить: Произведение...

Dev-C++ Матрица. Найти сумму элементов в строках, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Найти сумму элементов в строках, которые не содержат отрицательных элементов. Вопрос 1: как найти...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
342 / 263 / 15
Регистрация: 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];
        }
    }
}
Ответ Создать тему
Опции темы

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