0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
1

Вылет программы для вычисления СЛАУ методом Жордана-Гаусса при исполнении

18.03.2014, 00:03. Показов 2855. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый! Написал программу для вычисления СЛАУ методом Жордана-Гаусса.
Однако при исполнении программа вылетает с ошибкой "Прекращена работа программы".
В чем может быть проблема?
Вот код:
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
#include "stdafx.h
 
#include <conio.h>
#include <cmath>
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
const int l=100;"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
  int i, j, k, n, m;
  double x[l];
 
  ////////////////////////////////////////////
   cout << "Введите кол-во уравненияй: -> ";
         cin >> n;
   m=n+1;
 
    float **matrix = new float *[n];
         for (i=0; i<n; i++)
             matrix[i] = new float [m];
 
     float **matrixt = new float *[n];
         for (i=0; i<n; i++)
             matrixt[i] = new float [m];
 
  cout<<"\n";
 
 
//инициализируем
 
    for (i = 0; i<n; i++)
    {
        for (j = 0; j<m; j++)
        {
            cout << "Элемент " << "[" << i+1 << "," << j+1 << "] -> "  ;
            cin >> matrix[i][j];
        }
        cout<<"\n";
    }
            
 //выводим массив
    cout << "\n\nВведеная матрица: " <<"\n";
      for (i=0; i<n; i++)
       {
          for (j=0; j<m; j++)
            cout << matrix[i][j] << "\t";
        cout << "\n";
       }
    cout << "\n";
 
  ////////////////////////////////////////////
    for (k=0;k<n;k++)
    {
        for (i=0;i<n;i++)
        {
            if(i==k)
            {
                for(j=k;j<m;j++)
                {
                    matrixt[i][j]=(matrix[i][j]/matrix[k][k]);
                }
            }
            else
                for (j=k;j<m;j++)
                {
                    matrixt[i][j]=matrix[i][j]-((matrix[i][k]*matrix[k][j])/matrix[k][k]);
                }
                matrixt[k][k]=1;
        }
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                matrix[i][j]=matrixt[i][j];
    }
    for(i=0;i<m;i++)
        cout<<matrix[i+1][m]<<"\n";
 
 
    delete[] matrix;
    delete[] matrixt;
 
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2014, 00:03
Ответы с готовыми решениями:

СЛАУ методом Жордана-Гаусса
СРОЧНО!!!!!! Помогите пожалуйста найти ошибку. Мне нужно решить СЛАУ методом Жордана-Гаусса ...

СЛАУ методом Жордана-Гаусса
Нужна программа для решения СЛАУ методом Жордана-Гаусса с выбором главного элемента.

Решить СЛАУ методом Жордана-Гаусса
Привет! Такое вот задание дали: решить СЛАУ методом Жордана-Гаусса. Система следующая 4x1 - x2 +...

Решение СЛАУ методом Жордана Гаусса
Доброго времени суток! Помогите пожалуйста с программой, не могу понять как исправить ошибку....

7
2294 / 1781 / 745
Регистрация: 27.07.2012
Сообщений: 5,278
18.03.2014, 00:10 2
В каком месте вылетает?

Кавычка тут зачем?
C++
1
const int l=100;"
0
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
18.03.2014, 00:24  [ТС] 3
Кавычки в исходном коде нет) видимо ошибка копирки.
Вылетает на последних строках как я понял, примерно тут:

C++
1
2
    for(i=0;i<m;i++)
        cout<<matrix[i+1][m]<<"\n";
0
2294 / 1781 / 745
Регистрация: 27.07.2012
Сообщений: 5,278
18.03.2014, 00:27 4
Сложно сказать, надо в коде разбираться. Возможно где-то вылезаете за пределы массива.
0
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
18.03.2014, 00:43  [ТС] 5
Хм.спасибо за подсказку, посмотрю.
0
26 / 26 / 15
Регистрация: 03.05.2013
Сообщений: 71
18.03.2014, 01:19 6
массив matrix имеет размерность nxm, а вы его в конце перебираете как mxm да и еще берете индекс i+1. вот и вываливаетесь из массива.
0
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
18.03.2014, 11:00  [ТС] 7
Да , спасибо, но теперь обнаружил другую проблему. Массив не заполняется -(
0
2294 / 1781 / 745
Регистрация: 27.07.2012
Сообщений: 5,278
18.03.2014, 11:22 8
Смотрите в отладчике с точками останова.
0
18.03.2014, 11:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2014, 11:22
Помогаю со студенческими работами здесь

Решение СЛАУ методом Гаусса-Жордана
Прошу вас помочь мне с портированием программы решения СЛАУ методом исключений Гаусса-Жордана с С++...

Решение СЛАУ методом Гаусса-Жордана
Ребят, у кого есть готовая рабочая программа, можете скинуть для ознакомления??

Оконный интерфейс для программы решения СЛАУ методом Гаусса
Добрый день! Мне надо сделать оконный интерфейс для решения слау методом гаусса! Помогите или...

Решение системы линейных уравнений методом Гаусса и Жордана-Гаусса
Помогите пожалуйста начала работать сначала работать с методом Гаусса, но в Unit2 Delphi ругается...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru