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

Метод прогонки - исправить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу, которая обеспечивает начальное формирование предметного указателя http://www.cyberforum.ru/cpp-beginners/thread1095613.html
Прошу помощи с программой 2х летней давности. Да, да! Все так и есть - эту программу задавали еще 2 года назад, но как то забылось и не хочет вспоминаться, да и большую часть занятий по этим темам я...
C++ Сделать что то типа закрытого хранилища файлов с доступом только из программы В общем, мне нужно сделать что то типа закрытого хранилища файлов с доступом только из программы. А теперь внимание, вопрос. Как организовать хранение файлов ээм в файле, что то типа образа для... http://www.cyberforum.ru/cpp-beginners/thread1095582.html
C++ Вызовется ли приватный деструктор?
Вызовется ли приватный деструктор? И как в С++ можно узнать, освободилась ли память после завершения программы? class A { private: static A * a; A() { // ...
Удаление строк и столбцов массива имеющих одинаковый квадратный корень из суммы элементов C++
главной задачей является удаление строк и столбцов массива имеющих одинаковый квадратный корень из суммы элементов (столбцов или строк). Где то, происходить выход за границы выделенной памяти, в...
C++ Перекодировать из UCS-2 Little Endian в UTF http://www.cyberforum.ru/cpp-beginners/thread1095542.html
Есть много файлов *.txt в кодировке (как я понял) UCS-2 Little Endian. Как перевести эти файлы в кодировку UTF или ANSI? Пока что делаю это вручную с помощью Notepad++ -> Кодировки -> Преобразовать в...
C++ Студенческий журнал (УДАЛИТЬ элемент) Происходит считывание группы и данных о студентах (фамилия, имя, дата рождения), далее мне нужно удалить одного студента (чей номер указывается с клавиатуры). Что-то не так с функцией Delete, а... подробнее

Показать сообщение отдельно
Ev_Hyper
Заблокирован
19.02.2014, 09:28
Alexandr1966, если выводит не то, что ввели значит напутали с индексацией.
Вот тут:

C++
1
2
3
4
5
6
for (i=0;i<n1;i++)
    {
    for (k=0;k<n1;k++)
        cout<<A[k][i]<<"\t ";
    cout<<endl;
    }
У вас A[k][i] вместо A[i][k];

и вот тут:
C++
1
2
3
cout<<"Vvedite "<<n1<<" 4isel:"<<endl;
for(i=1;i<=n1;i++)
    cin>>B[i];
зачем-то начинаете заполнять с 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
62
63
#include "stdafx.h"
#include "conio.h"
#include "math.h"
#include "iostream"
using namespace std;
 
int i,n,k,n1; 
double z;
double A[50][50];
double B[50]; 
double eps[50];
double X[50]; 
double et[50];
 
int main()
{
cout<<"Vvedite razmernost matrici: ";
cin>>n1;
 
cout<<"Vvedite "<<n1<<" strok po "<<n1<<" 4isel:"<<endl;
for (i=0;i<n1;i++)
    for (k=0;k<n1;k++)
        cin>>A[i][k];
 
cout<<"Matrix A:"<<endl;
for (i=0;i<n1;i++)
    {
    for (k=0;k<n1;k++)
        cout<<A[i][k]<<"\t ";
    cout<<endl;
    }
 
cout<<"Vvedite "<<n1<<" 4isel:"<<endl;
for(i=0;i<n1;i++)
    cin>>B[i];
 
cout<<"Matrix B:"<<endl;
for (i=0;i<n1;i++)
    cout<<B[i]<<endl;
 
n=n1-1;
eps[0]=-A[0][1]/A[0][0];
et[0]=B[0]/A[0][0];
 
for(i=1;i<n;i++)
    {
    z=A[i][i]+A[i][i-1]*eps[i-1];
    eps[i]=-A[i][i+1]/z;
    et[i]=(B[i]-A[i][i-1]*et[i-1])/z;
    }
 
X[n]=(B[n]-A[n][n-1]*et[n-1])/(A[n][n]+A[n][n-1]*eps[n-1]);
 
for(i=n-1;i>=0;i--)
    X[i]=eps[i]*X[i+1]+et[i];
 
cout<<"Matrix X:"<<endl;
for(i=0;i<n1;i++)
    cout<<X[i]<<endl;
 
getch();
return 0;
}
Результат:
Код
Vvedite razmernost matrici: 4
Vvedite 4 strok po 4 4isel:
1
0

0
0
1
-2
1
0
0
1
-2
1
0
0
0
1
Matrix A:
1        0       0       0
1        -2      1       0
0        1       -2      1
0        0       0       1
Vvedite 4 4isel:
0
0
0
2
Matrix B:
0
0
0
2
Matrix X:
0
0.666667
1.33333
2
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru