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

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

Войти
Регистрация
Восстановить пароль
 
AksIoMa
0 / 0 / 0
Регистрация: 26.02.2011
Сообщений: 31
#1

объединенная матрица - C++

18.06.2012, 21:18. Просмотров 295. Ответов 2
Метки нет (Все метки)

помогите найти ошибку в программе

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;

int main()
{double ka,kb,tempa,tempb;
int n=0;
int i=0;
int j=0;
int p;
int m;
bool flag=false;
int e=2;
int s=0;
char str;
double m1;
ifstream in_num;
ifstream in_num1;
in_num1.open ("inputnum.txt");
while (!in_num1.eof())
{in_num1>>m1;
n++;
}
while (!in_num1.eof())
{in_num1>>str;
m=(int)str;
if ((m==47)||(m<45)||(m>57))
flag=true;
}
in_num1.close();
if (flag==true)
{
cout << "Incorrect input";
system("PAUSE");
return EXIT_SUCCESS;
}
in_num1.close();
m=0;
n=n/2;
while (n>0)
{n=n-e;
e=e+2;
m++;
}
n=m;
m++;
m=m*2;
double a[n][m];
double c[n*2];
in_num.open ("inputnum.txt");
while (!in_num.eof())
{if (j<m)
{in_num>>a[i][j];
in_num>>a[i][j+1];
j+=2;
}
else
{j=0;
i++;
}
}
in_num.close();
for (i=0;i<n-1;i++)
{for (j=0;j<n;j++)
{if (j!=i)
ka=(a[j][s]*a[i][s]+a[j][s+1]*a[i][s+1])/(a[i][s]*a[i][s]+a[i][s+1]*a[i][s+1]);
kb=(a[i][s]*a[j][s+1]-a[i][s+1]*a[j][s])/(a[i][s]*a[i][s]+a[i][s+1]*a[i][s+1]);
for (p=0;p<m;p+=2)
{tempa=ka*a[i][p]-kb*a[i][p+1];
tempb=ka*a[i][p+1]+kb*a[i][p];
a[j][p]=a[j][p]-tempa;
a[j][p+1]=a[j][p+1]-tempb;
}
}
s+=2;
}
s=0;
for (i=0;i<n;i++)
{c[s]=(a[i][m-2]*a[i][s]+a[i][m-1]*a[i][s+1])/(a[i][s]*a[i][s]+a[i][s+1]*a[i][s+1]);
c[s+1]=(a[i][s]*a[i][m-1]-a[i][s+1]*a[i][m-2])/(a[i][s]*a[i][s]+a[i][s+1]*a[i][s+1]);
s+=2;
}
for (i=0;i<m-2;i+=2)
cout<<"x"<<i/2+1<<"="<<c[i]<<"+"<<c[i+1]<<"i"<<'\n';

system("PAUSE");
return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 21:18     объединенная матрица
Посмотрите здесь:

1C 8.x Объединенная информация по движениям регистров в ЗУП? - 1С
Я сейчас про ЗУП. Где объединенную информацию по движениям регистров в ЗУП (может в виде талицы)? Чтобы узнать какие операции в ЗУП...

Ввести 3 строки, объединить их в одну, сосчитать, сколько букв ‘A’ содержит объединенная строка - Delphi
Ввести 3 строки, объединить их в одну, сосчитать, сколько букв ‘A’ содержит объединенная строка.

Ввести 3 строки, объединить их в одну, сосчитать, сколько букв ‘A’ содержит объединенная строка - Turbo Pascal
Ввести 3 строки, объединить их в одну, сосчитать, сколько букв ‘A’ содержит объединенная строка.

1С7.7 В таблице 1С "объединенная" ячейка не изменяет автоматически размер под содержимое -( - 1С
Может, кто сталкивался с такой проблемой: в 1С7.7, в табличной форме, когда значение обычной ячейки - выражение, которому присваивается...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной - Delphi
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью функций и процедур. Ввод-вывод в текстовый...

Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной. - Turbo Pascal
Ребят,помогите решить задачу &quot;Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной&quot;

Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа? - Алгебра
Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа с одинаковой кратностью? Добавлено...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого - QBasic
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

Непонятки с DirectX (матрица поворота, камера, матрица проекции) - DirectX
Возник вопрос по DirectX, точнее по матрицам Вопрос 1: D3DXMATRIXA16 matWorld; UINT iTime = timeGetTime() % 10000; ...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов - Free Pascal
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6284 / 5887 / 1909
Регистрация: 18.12.2011
Сообщений: 15,115
Завершенные тесты: 1
18.06.2012, 21:23     объединенная матрица #2
Основная ошибка, в объявлениях
double a[n][m];
double c[n*2];
n и m не константы.
С-но массивы надо создавать динамически,
или использовать максимально допустимые размеры
C++
1
2
3
4
const int NMAX=100;
const int MMAX=100;
double a[NMAX][MMAX];
double c[NMAX*2];
tomaticus
47 / 47 / 2
Регистрация: 02.01.2011
Сообщений: 505
18.06.2012, 21:32     объединенная матрица #3
Используйте, пожалуйста, теги.
Yandex
Объявления
18.06.2012, 21:32     объединенная матрица
Ответ Создать тему
Опции темы

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