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

С++, определитель матрицы, вычеркивание элемента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа, которая строит квадратную матрицу http://www.cyberforum.ru/cpp-beginners/thread247130.html
Составить программу, которая строит квадратную матрицу случайных целых чисел (размером 2n × 2n), выводит ее на экран. А затем поменять местами блоки размером n × n, (все сместить на 1 блок в...
C++ C++, менеджэр памяти. Здравствуйте форумчане =) Есть такое задание: Написать менеджер памяти. Дано 10Кб памяти(оперативной так сказать), нужно написать класс для работы с ней, т.е. функции выделения памяти, записи,... http://www.cyberforum.ru/cpp-beginners/thread247120.html
Составить программу, которая образует матрицу (n × n) C++
Составить программу, которая образует матрицу (n × n) случайных вещественных чисел, находит наибольшее значение среди элементов заштрихованной части матрицы и наименьшее - в незаштрихований и выводит...
C++ Создать квадратную матрицу
Составить и отладить программу, которая создает (в памяти ЭВМ) квадратную матрицу порядка n (n задавать константой).
C++ подскажите пожалуйста как создать клас http://www.cyberforum.ru/cpp-beginners/thread247096.html
Здравствуйте у меня собственно такой вопрос как в С++ создать клас а потом его вызвать.роботам с Визуал Студия У меня просто такое задание создать класс создать в нем метод ето всьо в файле .срр...
C++ Комбинированные структуры данных Напишите программу, которая начисляет месячную заработную плату на основании следующих данных: фамилия, имя, отчество работника,табельный номер, общее число отработанных часов, в том числе -... подробнее

Показать сообщение отдельно
ping_rulezzz
26 / 26 / 4
Регистрация: 18.02.2011
Сообщений: 51
26.02.2011, 19:49
держите, вроде всё работает

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
#include "stdafx.h"
#include "iostream"
#include "math.h"
 
using namespace std;
void foo(float **matrix, int n);
void main()
{
    unsigned int N = 0;
    unsigned int I = 0;
    unsigned int J = 0;
 
    cout << "Enter size of matrix. N = ";
    cin >> N;
 
    int **matrix = new int*[N];
    for (size_t i = 0; i < N; ++i) {
        matrix[i] = new int[N];
    }
 
    float **matrix2 = new float*[N - 1];
    for (size_t i = 0; i < N - 1; ++i) {
        matrix2[i] = new float[N - 1];
    }
 
 
    cout << "Fill the matrix:\n";
    for (size_t i = 0; i < N; ++i) {
        for (size_t j = 0; j < N; ++j) {
            cin >>  matrix[i][j];
        }
    }
    cout << "Enter number of line. I = ";
    cin >> I;
    cout << "Enter number of column. J = ";
    cin >> J;
 
    if (I > N || J > N) {
        cout << "Uncorrect input";
    } else {
        for (size_t i = 0, i2 = 0; i < N; ++i) {
            for(size_t j = 0, j2 = 0; j < N; ++j) {
                if (i != (I - 1) && j != (J - 1)) {
                    matrix2[i2][j2++] = matrix[i][j];
                }
            }
            if (i != (I - 1)) ++i2;
        }
 
        for (size_t i = 0; i < N - 1; ++i) {
            for (size_t j = 0; j < N - 1; ++j) {
            cout << matrix2[i][j] << "  ";
            }
            cout << endl << endl;
        }
        foo(matrix2, N-1);
    }
 
    for(size_t i = 0; i < N; i++)
        delete []matrix[i];
    delete []matrix;
 
    for(size_t i = 0; i < N - 1; i++)
        delete []matrix2[i];
    delete []matrix2;
}
 
void foo(float **matrix, int n) {
 
    float **a = new float*[n + 1];
    for (size_t i = 0; i < n + 1; ++i) {
        a[i] = new float[n + 1];
    }
 
    for (size_t i = 0; i < n; ++i) {
        for (size_t j = 0; j < n; ++j)
            a[i][j] = matrix[i][j];
    }
 
 
    int p = 0;
    int t,i,j,k = 0;
    float kst = 0;
    for (i=0; i<n-1; i++){
        t=1;
        while(a[i][i]==0){
            for(j=0; j<n; j++)
            {
                a[i][j]=kst;
                a[i][j]=a[i+t][j];
                a[i+t][j]=kst;
            }
            p++;
            t++;
        }
         
        for (k=i+1; k<n; k++)
        {
            kst=a[k][i]/(float)a[i][i];
            for(j=0; j<n; j++)
                a[k][j]-=a[i][j]*kst;
        }
    }
     
    kst=pow(-1.,p);
    for(i=0; i<n; i++)
        kst*=a[i][i];
 
    cout << "det = " << kst << endl;
 
    for(size_t i = 0; i < n + 1; i++)
        delete []a[i];
    delete []a;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru