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

Вычисление собственных значений и собственных векторов матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread223585.html
Была структура 1)Название Танка 2)Год выпуска 3)Калибр 4)Скорость Вывести на экран с годом выпуска 1940-1950, с калибром больше 50 #include <iostream.h> #include <conio.h> #include <string.h>
C++ Массив из символов Здравствуйте. Программа, по задумке, должна выводить массив из символов, а вместо этого выводит лишь цифру 9. Помогите разобраться чём кроется ошибка. //CharDisplay - âûâîäèò íà ýêðàí ñèìâîëüíûé ìàññèâ // â îêíå MS Dos #include <iostream> #include <conio.h> using namespace std; // îáúÿâëåíèå ïðîòîòèïîâ void displayCharArray(char stringArray, int sizeOfloatArray); http://www.cyberforum.ru/cpp-beginners/thread223582.html
C++ Перевод проекта С -> C++
Привет форумчане. Может кто знает как правильно перевести проект С->C++ Был пример на С. Я его переделал обернул в dll, все работает, все нормально. Нужно мне было передавать строку в С# программу. Сделал как wchar_t*. В С# принял в byte ErrMess = new byte; // и преобразовал string mess = Encoding.Unicode.GetString(ErrMess).Trim('\0'); .Захотел применить вывод сообщения как в С++
Глюки с <time.h> C++
Я написал программу, считающую сумму всех простых чисел в диапазоне от 1000000 до 2000000, деленную по модулю на число 23 и получил результат : 17 , потом мне захотелось посмотреть, сколько времени работала программа и я включил таймер. После работы поглядел на результат и он был равным 20. В чем проблема ? Вот листинг программы до : #include <stdio.h> #include <math.h> int isPrime(int...
C++ Трудность с вычилениями. http://www.cyberforum.ru/cpp-beginners/thread223551.html
#include <stdio.h> #include <iostream> #include <conio.h> int main(int argc, char *argv) { float n1=10; float n2=n1/3; float n3=n2*3;// вот тут же 3.33333*3 std::cout<<n3;
C++ Лаба "ФАЙЛЫ" я понимаю, что так нехорошо делать, но надеюсь на помощь опытных программистов..Преподают у нас ужасно,пар истории во много раз больше,чем программирования. Да и то нам дают только задания, без теории. Осталась последняя задачка, остальные я решил самостоятельно. Но эту задачу я совсем понять не могу, т.к. отсутствуют знания теории. Надо написать прогу с нуля: Создать текстовый файл с... подробнее

Показать сообщение отдельно
Гамбит
13 / 13 / 1
Регистрация: 19.10.2009
Сообщений: 93
03.01.2011, 16:46     Вычисление собственных значений и собственных векторов матрицы
Доброго времени суток всем.
Собственно написал программу, реализует степенной метод. Проблема в округлении. 1 итерация- вычисление начального вектора. 2 итерация тоже идет нормально, но потом получаются значения l=7.03 l0=7.25. по идее е=0.22, но почему то дробная часть отбрасывается и е получается равным 0-> программа заканчивает вычисления.
Вот код

Код
#include<stdio.h>
#include<math.h>

void Input(int n,int A[][100])
{
int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
scanf("%d",&A[i][j]);
}

void Matr(int A[][100],int n)
{
int y0[100],i,j,y[100],p,k=0;
float e=1.0,l,l0;
scanf("%d",&p);
for (i=0;i<n;i++)
y0[i]=1;
do
{
for (i=0;i<n;i++)
{
y[i]=0;
for (j=0;j<n;j++)
y[i]=y[i]+A[i][j]*y0[j];
printf("%d\n",y[i]);
}
if (k==0)
	{
	l0=y[p]/y0[p];
	k++;
	}
else
	{
	l=y[p]/y0[p];
	printf("l=%f",l);
	printf("l0=%f",l0);
	e=fabs(l-l0);
	printf("e=%f",e);
	l0=l;
	}
for (i=0;i<n;i++)
y0[i]=y[i];
}
while (e>0.001);
}

void main()
{
int n,A[100][100];
scanf("%d",&n);
Input(n,A);
Matr(A,n);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru