Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Taske
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
1

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

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

День добрый! Написал программу для вычисления СЛАУ методом Жордана-Гаусса.
Однако при исполнении программа вылетает с ошибкой "Прекращена работа программы".
В чем может быть проблема?
Вот код:
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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 00:03
Ответы с готовыми решениями:

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

Решение СЛАУ методом Жордана
Решить СЛАУ методом Жордана, Вычислить интегральнок выражение методом Симпсона

Квадратичная аппроксимация, ошибка при решении СЛАУ методом Гаусса
всем привет, возникла проблема при квадратичной аппроксимации функции, в результате левые данные......

Разработать программу для решения СЛАУ методом Гаусса.
Разработать программу для решения СЛАУ методом Гаусса. вот заданный массив...

Помогите написать программу для решения слау методом Гаусса
Осталось как обычно пару дней до сдачи курсовой, а она еще не готова! Помогите пожалуйста. Вот...

7
John Prick
841 / 772 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
Завершенные тесты: 3
18.03.2014, 00:10 2
В каком месте вылетает?

Кавычка тут зачем?
C++
1
const int l=100;"
0
Taske
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
John Prick
841 / 772 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
Завершенные тесты: 3
18.03.2014, 00:27 4
Сложно сказать, надо в коде разбираться. Возможно где-то вылезаете за пределы массива.
0
18.03.2014, 00:27
Taske
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
18.03.2014, 00:43  [ТС] 5
Хм.спасибо за подсказку, посмотрю.
0
kupnu4
26 / 26 / 15
Регистрация: 03.05.2013
Сообщений: 71
18.03.2014, 01:19 6
массив matrix имеет размерность nxm, а вы его в конце перебираете как mxm да и еще берете индекс i+1. вот и вываливаетесь из массива.
0
Taske
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 10
18.03.2014, 11:00  [ТС] 7
Да , спасибо, но теперь обнаружил другую проблему. Массив не заполняется -(
0
John Prick
841 / 772 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
Завершенные тесты: 3
18.03.2014, 11:22 8
Смотрите в отладчике с точками останова.
0
18.03.2014, 11:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 11:22

Кто сможет? Написать функцию для решения СЛАУ методом Гаусса
Кто может написать функцию для решения СЛАУ методом Гаусса используя базовые знания.

Решение СЛУ методом Жордана-Гаусса, заменить массив на динамический
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;stdlib.h&gt; using namespace std; class...

СЛАУ методом Гаусса
Всем доброго времени суток. По-сколько я новичек в программирование, то вот скачал код, для...


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

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

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