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

Задача по классам.с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Булевская переменная http://www.cyberforum.ru/cpp-beginners/thread446916.html
Написать программу, в результате выполнения которой булевская переменная t получает значение true, если выполняется указанное условие, и значение false в противном случае: цифра m входит в десятичную запись четырехзначного числа n Почему выводит 0? //--------------------------------------------------------------------------- #pragma hdrstop ...
C++ Написать программу, демонстрирующую потери точности при арифметических операциях Можете рассписать по пунктам, что делать? Суть задания я уловила, а как реализовать - без единого понятия! Потеря точности при сложении: написать программу, демонстрирующую потерю точности при сложении и определяющую абсолютную и относительную погрешность машинного числа для используемых в системе программирования типов вещественных переменных. Потеря точности при вычитании: написать программу... http://www.cyberforum.ru/cpp-beginners/thread446899.html
C++ Почему не полностью выводится массив?
Массив MyY не полностью выводится. В чем может быть проблема? Заранее спасибо. const n2max=5; const n1max=10; class cl1 { int n1,n2; int M; public:
C++ нахождение факториала
Вот, написал программу, но почему-то ответ неправильный постоянно выходит, подскажите, что я делаю не так? #include <iostream> #include<cmath> using namespace std; int main() {int a,c=1,i; cout<<"VVerH "; cin>>a;
C++ Определить сколько положительных элементов находится между mах и min значениями матрицы http://www.cyberforum.ru/cpp-beginners/thread446885.html
Написать программу, которая для целочисленного массива из 10 элементов, должна определять сколько положительных элементов находится между mах и min значениями. Только не давно начал изучать C++, не могу разобраться. За ранее спасибо!
C++ Найти наименьшее положительное значение в массиве вещественных чисел Условие задачи:Найти наименьшее положительное значение в массиве вещественных чисел. Если положительного нет, то результату присвоить 0. #include "stdafx.h" #include <stdio.h> #include <iostream> #include "time.h" #include <stdlib.h> using std::cout; using std::cin; int _tmain(int argc, _TCHAR* argv) подробнее

Показать сообщение отдельно
Тина_Ливингстон
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 59
15.02.2012, 23:25  [ТС]     Задача по классам.с++
Вот мой код

Методы

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 "hedr.h"
Matrix::Matrix ( int nR , int nC )
{
    if ( ( nR <= 0 ) || ( nC <= 0 ) )
        throw "Размеры мтрицы введены неверно";
    nRow = nR;
    nCol = nC;
    matr = new float * [nRow];
    for ( int i = 0 ; i <nRow ; i++ )
        matr [i] = new float [nCol];
    for ( int i = 0 ; i < nRow ; i++ )
        for ( int j = 0 ; j < nCol ; j++ )
            matr [i][j] = 0 ;
}
Matrix ::Matrix(const Matrix &b)
{
    nRow = b.nRow ;
    nCol = b.nCol ;
    matr = new float * [nRow] ;
    for ( int i = 0 ; i < nRow ; i++ )
        matr [i] = new float [nCol];
    for ( int i = 0 ; i < nRow ; i++ )
        for ( int j = 0 ; j < nCol ; j++ )
            matr [i][j] = b.matr[i][j];
}
 
 
int Matrix ::get_row()
{
    return nRow ;
}
int Matrix ::get_col()
{
    return nCol;
}
double Matrix ::get_item( int i, int j )
{
    return matr [i][j] ;
}
void Matrix ::set_item(int i , int j , double t )
{
    matr [i][j] = t ;
}
void Matrix ::Summa(const Matrix &m)
{
    for ( int i = 0 ; i < nRow ; i++ )
        for ( int j = 0 ; j < nCol ; j++ )
            matr[i][j]+=m.matr[i][j];
}
void Matrix ::Transponirov(const Matrix &m)
{
    for ( int i = 0 ; i < nRow ; i++ )
        for ( int j = 0 ; j < nCol ; j++ )
            matr[i][j]=m.matr[j][i];
}
Matrix Matrix ::Proizv(const Matrix &m) const
{
    Matrix tmp ( nRow , m.nCol ) ;
    for ( int i = 0 ; i < nRow ; i++ )
        for ( int j = 0 ; j < m.nCol ; j++ )
            for ( int k = 0 ; k < nCol ; k++ )
                tmp.matr[i][j]+=matr[i][k]*m.matr[k][j];
    return tmp;
}
Matrix ::~Matrix()
{
    for ( int i =0 ; i < nRow ; i++ )
        delete [] matr [i];
    delete [] matr ;
}
Заголовочный файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Matrix
{
private:
    int nRow, nCol;
    float **matr;
public:
    Matrix (int, int);//конструктор с параметрами
    Matrix (const Matrix &);//конструктор копирования
    Matrix ();
    int get_row ();
    int get_col ();
    double get_item (int, int);
    void set_item (int, int, double);
    ~Matrix ();
    void Summa (const Matrix &m); // метод, реализующий сумму матриц
                            // к текущему объекту добавляется матрица m
    void Transponirov (const Matrix &m);//метод,реализующий разность матриц
    Matrix Proizv (const Matrix &m) const; // метод, реализующий произведение матриц
                                // Возвращает новый объект
    int determin ();
};
Main

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
#include "hedr.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
    setlocale (LC_ALL,".1251");
    int r , c ;
    double R ;
    cout << "Введите размер :\n" ;
    cin >> r >> c ;
    Matrix n ( r , c );
    //заполняем матрицу
    for ( int i = 0 ; i < n .get_row () ; i++ )
        for ( int j = 0 ; j < n.get_col() ; j++ )
        {
            cout << "введите элементы";
            cin >> R ;
            n.set_item ( i , j , R ) ;
        }
        Matrix n1 (n);
        n1.set_item(0 , 0 , -1 );
        cout << "Исходная матица" << endl ;
        for ( int i = 0 ; i < n.get_row() ; i++ )
        {
            for ( int j = 0 ; j < n.get_col (); j++ )
                cout<< setw (8) << n.get_item ( i , j );
                cout << endl ;
        }
        cout << "Новая матрица" << endl ;
        for ( int i = 0 ; i < n1.get_row() ; i++ )
        {
            for ( int j = 0 ; j < n1.get_col (); j++ )
                cout<< setw (8) << n1.get_item ( i , j );
                cout << endl ;
        }
        n.Summa(n1);
        cout << "Сложение:" << endl ;
        for ( int i = 0 ; i < n.get_row() ; i++ )
        {
            for ( int j = 0 ; j < n.get_col (); j++ )
                cout<< setw (8) << n.get_item ( i , j );
                cout << endl ;
        }
        Matrix n2 = n.Proizv ( n1 );
        cout << "Умножение: " << endl ;
        for ( int i = 0 ; i < n2.get_row() ; i++ )
        {
            for ( int j = 0 ; j < n2.get_col (); j++ )
                cout<< setw (8) << n2.get_item ( i , j );
                cout << endl ;
        }
        n.Transponirov(n1);
        cout << "Трнспонирование:" << endl ;
        for ( int i = 0 ; i < n.get_row() ; i++ )
        {
            for ( int j = 0 ; j < n.get_col (); j++ )
                cout<< setw (8) << n.get_item ( i , j );
                cout << endl ;
        }
        return 0 ;
}
Помогите пожалуйста изменить код так, чтобы числа вводились не вручную, а с помощью генератора случайных чисел.
 
Текущее время: 05:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru