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

Классы (Описать класс, реализующий тип данных «вещественная матрица» и работу с ними) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
15.05.2013, 15:52     Классы (Описать класс, реализующий тип данных «вещественная матрица» и работу с ними) #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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 class Matrix
 {
 private:
 
 int n,m;
 
 double **a, **c;
 
 public:
 
 
 Matrix::Matrix(int n, int m)
 
 {
     int i,j;
 
 Matrix::n=n;
 
 Matrix::m=m;
 
 a=new double*[n]; // выделение памяти под указатели
 
 for(i=0;i<n;i++)
 
 a[i]=new double[m]; // выделение памяти под элемент
 
 c=new double*[n];
 
 for(int i=0; i<n; i++)
 
 c[i]=new double[m];
 
 // Заполнение массива элементами с клавиатуры
 
 {
     puts("nВведите элементы матрицы:");
 
 for(i=0;i<n;i++)
 
 for(j=0;j<m;j++)
 
 {
     cout<<"a["<<i<<"]["<<j<<"]=";
 
 cin>>a[i][j];
 }
 
 cout<<endl;
 }
 };
 
 Matrix::~Matrix()
 
 {for(int i=0;i<n;i++)
 
 delete []a[i];// освобождение памяти
 
 delete []a;};
помогите мне реальзовать вычисления детерминанта и нормы. и сделать меню

Добавлено через 40 минут
помгите под мой код исправить нахождение детерминанта и нормы
это детерминант
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
double Det(int m, double ** arr, int iShowStepsOfCalcs)
{
    int i, j = 0;
    double ret = 0;
    double A;
    double ** _arr;
    if(m == 2)//В случаем 2х2 вычисляем детерминант сразу
    {
        ret = 
            arr[0][0]*arr[1][1] - 
            arr[1][0]*arr[0][1];
        if(iShowStepsOfCalcs)
            printf("Det = %lf\n",ret);
        
    }
    else//Иначе находим детерминант рекурсивно
    //через алгебраическое дополнение элемента
    {
        for(j = 0; j < m; j++)
        {
            _arr = M(m, 0, j, arr);
            ret += (A = (arr[0][j])*pow(-1,j)*Det(m - 1, _arr, iShowStepsOfCalcs));
            if(iShowStepsOfCalcs)
                printf("A[%02d][%02d] = %lf\n",1, j + 1,A);
            for(i = m - 2; 0 < i; i--)
                free((void *)_arr[i]);
            free((void *)_arr);
        }
    }
    return ret;
}
это норма
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Norm1(int** mas,int n, int m)
{
    int pos=0;
    int* vektor=new int[m];
    for(int i=0;i<m;i++)
        vektor[i]=0;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            vektor[pos]+=abs(mas[j][i]);
        }
        pos++;
    }
    int max=vektor[0];
    for(int i=0;i<pos;i++)
    {
        if(vektor[i]>max) max=vektor[i];
    }
    cout<<"Norma ravna: "<<max<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 15:52     Классы (Описать класс, реализующий тип данных «вещественная матрица» и работу с ними)
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
17.05.2013, 17:37  [ТС]     Классы (Описать класс, реализующий тип данных «вещественная матрица» и работу с ними) #2
пожалуйста помогите
Yandex
Объявления
17.05.2013, 17:37     Классы (Описать класс, реализующий тип данных «вещественная матрица» и работу с ними)
Ответ Создать тему
Опции темы

Текущее время: 18:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru