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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.63
Leha-first
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 4
#1

Нахождение обратной матрицы - C++

01.06.2011, 14:37. Просмотров 5061. Ответов 11
Метки нет (Все метки)

Здравствуйте!помогите с программой на языке си-она демонстрирует нахождение обратной матрицы.я написал 3 на 3 юно мне надо в начале проги вводить количество строк и столбцов.

 Комментарий модератора 
Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2011, 14:37     Нахождение обратной матрицы
Посмотрите здесь:

Нахождение обратной матрицы - C++
Доброго времени суток! Напишите, пожалуйста, кому не сложно, простой, понятный код нахождения обратной матрицы. Буду очень признателен!

Нахождение обратной матрицы - C++
Помогите,пожалуйста доделать или переделать нужно найти обратную матрицу тут маленько наброски есть методом гаусса но не могу доделать или...

Нахождение обратной матрицы - C++
Здравствуйте, уважаемые программисты! Прощу помощи. Для заданной матрицы A(3,3), найти обратную А в -1 степени. Буду очень...

Нахождение обратной матрицы - C++
Доброго времени суток! Возникла необходимость найти обратную матрицу любым из способов, так как в программировании только делаю первые...

Нахождение обратной матрицы - C++
Нужна помощь, уже сломал мозг, требуется ввод матрицы клавиатуры, затем она должна считать обратную, затем умножить обратную на исходную и...

Нахождение обратной матрицы - C++
Доброго времени суток! Помогите, пожалуйста, с нахождением обратной матрицы. Нашел такой код тут на форуме. Можете ли его максимально...

Матричный калькулятор, нахождение обратной матрицы - C++
Всё работает кроме обратной матрицы.помогите найти ошибку #include "stdafx.h" #include<iostream> #include<math.h> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.06.2011, 14:41     Нахождение обратной матрицы #2
выложите, что уже написали
Leha-first
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 4
01.06.2011, 15:15  [ТС]     Нахождение обратной матрицы #3
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
void main()
{
int a[3][3],i,j,k,l;
for(i=0;i<3;i++)
 {
  printf("\n      ");
  for(j=0;j<3;j++)
   {
    printf("\n\n    ‚ўҐ¤ЁвҐ н«Ґ¬Ґ*в [%i][%i] (®в 0 ¤® 9) \n        ",i+1,j+1);
    scanf("%i",&a[i][j]);
    if((a[i][j]>9)||(a[i][j]<0))
     {
      clrscr();
      printf("   ‚ўҐ¤Ґ*л *ҐўҐа*лҐ ¤***лҐ");
      getch();
      exit(1);
 
     }
    clrscr();
   }
 }
for(i=0;i<3;i++)
 {
  printf("\n      ");
  for(j=0;j<3;j++)
   printf("%i ",a[i][j]);
 }
float detA=0;
detA=a[0][0]*a[1][1]*a[2][2]+a[2][0]*a[0][1]*a[2][1]+a[1][0]*a[2][0]*a[1][2]-a[0][0]*a[1][2]*a[2][1]-a[0][1]*a[0][1]*a[2][2]-a[0][2]*a[1][1]*a[2][0];
getch();
clrscr();
printf("\n ЋЇаҐ¤Ґ«ЁвҐ«м а*ўҐ* %5.2f",detA);
if (detA==0)
{
 clrscr();
 printf("\n\n        ЋЎа*в*®© ¬*ваЁжл *Ґв ");
 getch();
 exit(1);
}
getch();
int min[3][3];
min[0][0]=a[1][1]*a[2][2]-a[1][2]*a[2][1];
min[0][1]=(-1)*(a[1][0]*a[2][2]-a[1][2]*a[2][0]);
min[0][2]=a[1][0]*a[2][2]-a[1][2]*a[2][0];
min[1][0]=(-1)*(a[0][1]*a[2][2]-a[0][2]*a[2][1]);
min[1][1]=a[0][0]*a[2][2]-a[0][2]*a[2][0];
min[1][2]=(-1)*(a[0][0]*a[2][1]-a[2][0]*a[0][1]);
min[2][0]=a[0][1]*a[1][2]-a[1][1]*a[0][2];
min[2][1]=(-1)*(a[0][0]*a[1][2]-a[1][0]*a[0][2]);
min[2][2]=a[0][0]*a[1][1]-a[1][0]*a[0][1];
clrscr();
printf("\n        Њ*ваЁж* Ђ«ЈҐЎаЁзҐбЄЁе ¤®Ї®«*Ґ*Ё© \n\n ");
for(i=0;i<3;i++)
 {
  printf("\n     ");
  for(j=0;j<3;j++)
   printf("%6.3i  ",min[i][j]);
 }
getch();
clrscr();
for(i=0;i<3;i++)
 {
  printf("\n   ");
   for(j=0;j<3;j++)
    printf("%i ",min[i][j]);
 }
clrscr();
float obr[3][3];
printf("\n    ЋЎа*в**п ¬*ваЁж*\n\n   ");
for(i=0;i<3;i++)
 {
 printf("\n   ");
 for(j=0;j<3;j++)
  {
   obr[j][i]=min[i][j]*(1/detA);
   printf("%6.3f ",obr[j][i]);
  }
 }
getch();
clrscr();
}
 Комментарий модератора 
Используйте теги форматирования кода!
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.06.2011, 15:22     Нахождение обратной матрицы #4
чтобы создать матрицу нужного вам размера, используйте
C
1
2
3
4
5
int **arr;
/*вводите кол-во строк и столбцов*/
arr = new int*[n];
for (int i=0; i<n; ++i)
     arr[i] = new int [m];
это требовалось?
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
01.06.2011, 15:28     Нахождение обратной матрицы #5
Кроме этого придётся еще и расчеты изменить. Потому как это смешно:
Цитата Сообщение от Leha-first Посмотреть сообщение
detA=a[0][0]*a[1][1]*a[2][2]+a[2][0]*a[0][1]*a[2][1]+a[1][0]*a[2][0]*a[1][2]-a[0][0]*a[1][2]*a[2][1]-a[0][1]*a[0][1]*a[2][2]-a[0][2]*a[1][1]*a[2][0];
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
01.06.2011, 16:02     Нахождение обратной матрицы #6
Цитата Сообщение от soon Посмотреть сообщение
это требовалось?
требовалось внимательно читать задание и отличать си от с++
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
01.06.2011, 16:05     Нахождение обратной матрицы #7
sandye51, вместо new и delete, использовать malloc и free
описание всех функций гугл легко доскажет
sandye51
01.06.2011, 16:14
  #8

Не по теме:

m1Rr0r, это ты не мне говори

Leha-first
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 4
01.06.2011, 16:38  [ТС]     Нахождение обратной матрицы #9
ПАцаны так че с расчетами детерминанта делать и нужно чтобы спрашивалось:заполнить матрицу произвольно или с клавы?

Добавлено через 14 минут
soon, подмогни а
sandye51
01.06.2011, 16:44
  #10

Не по теме:

пиши в аську, подмогну

Leha-first
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 4
01.06.2011, 17:16  [ТС]     Нахождение обратной матрицы #11
Да у меня аси нет мож по контакту скинь адрес своей страницы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2011, 17:29     Нахождение обратной матрицы
Еще ссылки по теме:

Нахождение обратной матрицы (есть код! ) - C++
Добрый день! Имеется алгоритм нахождения обратной матрицы. Необходимо добавить в него регуляризацию, т.е. этот алгоритм может не найти...

Нахождение обратной матрицы методом алгебраических дополнений - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; //int menu(); void...

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

Код обратной матрицы на С++ - C++
Мне очень нужен код программы обратной матрицы.

Определение обратной матрицы - C++
Помогите, задали в универе написать программку в С++ по определении обратной матрицы, циклический алгоритм


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

Или воспользуйтесь поиском по форуму:
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.06.2011, 17:29     Нахождение обратной матрицы #12

Не по теме:

Мой косяк, бывает...


Цитата Сообщение от Википедия
C
1
2
3
4
5
6
7
8
9
10
float *dynamic_array = (float *)malloc(number_of_elements * sizeof(float));
if(!dynamic_array)
{
   /* обработка ошибки выделения памяти */
}
 
/* … работа с элементами массива … */
 
free(dynamic_array);
dynamic_array = NULL;
Добавлено через 6 минут
+ еще надо подключить stdlib.h
и для двумерного массива
C
1
2
3
4
float **dynamic_array;
      dynamic_array =  (float **)malloc(size_n * sizeof(float));
      for (int i=0; i<size_n; ++i)
          dynamic_array[i] = (float *)malloc(size_m * sizeof(float));
Yandex
Объявления
01.06.2011, 17:29     Нахождение обратной матрицы
Ответ Создать тему
Опции темы

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