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

Код обратной матрицы на С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблемы работы с графикой (graphics.h) после апгрейда компа.. :( http://www.cyberforum.ru/cpp-beginners/thread14755.html
Короче курсовая на носу. Писал заставку на тему баскетбол, ну типа там нарисовал площадку, мячик, и мячик прыгает с корзины в корзину... Все было прикольтно, пока не сделал абгрейд... Работаю в Turbo C++ ver 1.01. поменял комп короче полностю, постваил новую ось, поставил Си, и блин она работает, а как только касаеться работы с графикой, тупо закрываеться.. ну если в Си запустить через Contrl+F9...
C++ Помогите решить две простые задачи(перевод из десятичной с. с в двоичную и полное решение квадратного уравнения) 5.6Перевод из 10-й системы счисления в 2-ю 5.7Решение квадратного уравнения полное Добавлено через 2 минуты 14 секунд /************************************** Перевод из десятичной системы счисления в двоичную Автор: Muslimov Ildar Fanisovich Программа переводящая из десятичной системы в двоичную http://www.cyberforum.ru/cpp-beginners/thread14754.html
C++ Определить, какое из чисел встречается в массиве чаще всего
8. Элементы массива расположить в обратном порядке, не используя дополнительный массив. Написать программу, в которой исходный массив заполнить случайным образом элементами в пределах от 101 до 200. Вывести на экран элементы исходного и полученного массивов. 9. Написать фрагмент программы для определения, какое из чисел встречается в массиве чаще всего. 10. Написать рекурсивную функцию поиска...
C++ Динамический массив в С++: как поменять длину массива по ходу выполнения программы?
Есть такая проблема: есть файл, в котором построчно записаны числа float (1 число - 1 строка). Количество чисел неизвестно. Как сделать так, т.е. какие операции надо объявить, чтоб программа читала всё следующее число и заносила его в массив, как то: FILE *op;//файл с неизвестным количеством чисел float float d; int i=0; ... while (!feof(op)) {
C++ Проблема: DevC++ отказывается компилировать (виста)! http://www.cyberforum.ru/cpp-beginners/thread14737.html
Помогите, плиз, с такой проблемой: DevC++ 4.9.9.2, скачал, установил, вроде всё работает, НО отказывается компилировать в принципе. Нажимаю кнопку - никакой реакции в принципе. Путь состоит только из латинских букв. Стоит виста (с этой системой раньше не работал). Поиск заюзался - ничего не помогает.
C++ Как передать массив через указатель? Народ, такая проблема: при передаче в функцию массива через указатель, вся информация теряется и замещается бредом каким то, вот выдержка из программы: float sum(float *a, int *i); ... int main(){ ... m = sum (&a, &i); // пробовал также &a ... } подробнее

Показать сообщение отдельно
tymrfik
 Аватар для tymrfik
2 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 89
09.01.2012, 21:28     Код обратной матрицы на С++
vitaska, Подскажите пожалуйста в чем ошибка: в моем случае в программе нужно рассчитать обратную матрицу для матрицы размером 30*30 (матрица состоит из 1 и 0 в определенном порядке, обратная точно существует), я позаимствовал только часть вашего кода, но почему-то у меня даже определитель не считается (при компиляции проблем нет)
Взял след. части:
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
//
void Get_matr(int **matr, int n, int **temp_matr, int indRow, int indCol)       
{
        int ki = 0; 
        for (int i = 0; i < n; i++){
                if(i != indRow){
                        for (int j = 0, kj = 0; j < n; j++){
                                if (j != indCol){
                                        temp_matr[ki][kj] = matr[i][j];
                                        kj++;
                                }
                        }
                        ki++;           
                }
        }
}
int Det(int **matr, int n)      
{int temp = 0;   
        int k = 1;             
                for(int i = 0; i < n; i++){
                        int m = n - 1; 
                        int **temp_matr = new int * [m];
                        for(int j = 0; j < m; j++)
                                temp_matr[j] = new int [m];
                        Get_matr(matr, n, temp_matr, 0, i);
                        temp = temp + k * matr[0][i] * Det(temp_matr, m);
                        k = -k;
        
                }
        return temp;
}
//в самой функции int main() начинаю транспонировать матрицу и делать вычисление обратной. //(идет кусок main)
  for (int i = 0; i < 30; i++){ 
        for (int j = 0; j <30; j++){
            tMatr[j][i] = c[i][j];
            }
            }
 
  double **obr_matr = new double * [n];
        for(int i = 0; i < n; i++){
                obr_matr[i] = new double[n];}
int det = Det(c, n);
      cout << "вывод определителя"<< det << endl;
            if(det){
                for(int i = 0; i < n; i++){
                        for(int j = 0; j < n; j++){
                                int m = n - 1;
                                int **temp_matr = new int * [m];
                                for(int k = 0; k < m; k++)
                                        temp_matr[k] = new int[m];
                                Get_matr(c, n, temp_matr, i, j);
                                obr_matr[i][j] = pow(-1.0, i + j + 2) * Det(temp_matr, m) / det;
                                }
                }       
        }
 
for(i=0;i<30;i++){
   for(j=0;j<30;j++)                          
      printf("%d ", obr_matr[i][j]);
    printf("\n");
}
(беру не весь код, потому что задание у меня заключается в др, но для работы в программе нужна эта обратная матрица)

Добавлено через 2 минуты
Кто может подскажите в чем ошибка у меня?!
 
Текущее время: 07:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru