Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 22.06.2009
Сообщений: 27
1

Необходимо переделать программу, чтобы в программе можно было вводить колличество итераций

12.04.2010, 16:04. Просмотров 377. Ответов 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
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include<iostream.h> 
#include<math.h> 
#include<stdio.h> 
void main() 
{int i,j,n; 
double s,s1,norma,L1; 
double yn,yn1,yn2,yn3,yn4,yn5,yn6,yn7,yn8,yn9; 
double sum,sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9; 
cout<<"Vvedite n"<<endl; 
cin>>n; 
double*y0=new double[n]; 
double*y1=new double[n]; 
double*y2=new double[n]; 
double*y3=new double[n]; 
double*y4=new double[n]; 
double*y5=new double[n]; 
double*y6=new double[n]; 
double*y7=new double[n]; 
double*y8=new double[n]; 
double*y9=new double[n]; 
double*y10=new double[n]; 
double*L=new double[n]; 
double*x=new double[n]; 
double**a=new double*[n]; 
for(i=0;i<n;i++) 
a[i]=new double[n]; 
cout<<"Vvedite matritsy A"<<endl; 
for(i=0;i<n;i++) 
{ 
for(j=0;j<n;j++) 
cin>>a[i][j]; 
} 
cout<<"Vvedite nachalnii vektor"<<endl; 
for(i=0;i<n;i++) 
cin>>y0[i]; 
for(i=0;i<n;i++) 
{sum=0.0; 
for(j=0;j<n;j++) 
{ 
yn=a[i][j]*y0[j]; 
sum=sum+yn; 
} 
y1[i]=sum; 
} 
for(i=0;i<n;i++) 
{sum1=0.0; 
for(j=0;j<n;j++) 
{ 
yn1=a[i][j]*y1[j]; 
sum1=sum1+yn1; 
} 
y2[i]=sum1; 
} 
for(i=0;i<n;i++) 
{sum2=0.0; 
for(j=0;j<n;j++) 
{ 
yn2=a[i][j]*y2[j]; 
sum2=sum2+yn2; 
} 
y3[i]=sum2; 
} 
for(i=0;i<n;i++) 
{sum3=0.0; 
for(j=0;j<n;j++) 
{ 
yn3=a[i][j]*y3[j]; 
sum3=sum3+yn3; 
} 
y4[i]=sum3; 
} 
for(i=0;i<n;i++) 
{sum4=0.0; 
for(j=0;j<n;j++) 
{ 
yn4=a[i][j]*y4[j]; 
sum4=sum4+yn4; 
} 
y5[i]=sum4; 
} 
for(i=0;i<n;i++) 
{sum5=0.0; 
for(j=0;j<n;j++) 
{ 
yn5=a[i][j]*y5[j]; 
sum5=sum5+yn5; 
} 
y6[i]=sum5; 
} 
for(i=0;i<n;i++) 
{sum6=0.0; 
for(j=0;j<n;j++) 
{ 
yn6=a[i][j]*y6[j]; 
sum6=sum6+yn6; 
} 
y7[i]=sum6; 
} 
for(i=0;i<n;i++) 
{sum7=0.0; 
for(j=0;j<n;j++) 
{ 
yn7=a[i][j]*y7[j]; 
sum7=sum7+yn7; 
} 
y8[i]=sum7; 
} 
for(i=0;i<n;i++) 
{sum8=0.0; 
for(j=0;j<n;j++) 
{ 
yn8=a[i][j]*y8[j]; 
sum8=sum8+yn8; 
} 
y9[i]=sum8; 
} 
for(i=0;i<n;i++) 
{sum9=0.0; 
for(j=0;j<n;j++) 
{ 
yn9=a[i][j]*y9[j]; 
sum9=sum9+yn9; 
} 
y10[i]=sum9; 
} 
 
for(i=0;i<n;i++) 
{ 
L[i]=y10[i]/y9[i]; 
} 
s=0.0; 
for(i=0;i<n;i++) 
{ 
s=s+L[i]; 
} 
L1=s/n; 
cout<<"Sobstvennoe znachenie ravno"<<endl; 
printf("%10.3f ",L1); 
cout<<endl; 
s1=0.0; 
for(i=0;i<n;i++) 
{ 
s1=s1+y10[i]*y10[i]; 
} 
norma=sqrt(s1); 
for(i=0;i<n;i++) 
{ 
x[i]=y10[i]/norma; 
} 
cout<<"Koordinati sobstvennogo vektora matritsi A:"<<endl; 
for(i=0;i<n;i++) 
{ 
printf("%10.2f ",x[i]); 
} 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2010, 16:04
Ответы с готовыми решениями:

Необходимо переделать программу, чтобы в программе можно было вводить колличество итераций
необходимо чтоб в программе можно было вводить колличество итераций (сейчас они заданы как бы по...

Переделать программу так, чтобы можно было вводить n-ое количество пациентов
Доброго времени суток уважаемые форумчане! Помогите пожалуйста модернизировать программу для...

Переделать программу, чтобы вместо цифр можно было вводить буквы
Народ нужно переделать программу чтобы в месте цифр (1-10) вводить букву program tra; uses CRT;...

Переделать код, чтобы в нем можно было вводить координаты для нескольких треугольников
В этом модуле созданы функции для ввода данных о треугольнике, записи в файл, определения вида...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2010, 16:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Что необходимо сделать, чтобы при массив можно было вводить в виде таблицы
а не как у меня-только в столбик

Изменить программу чтобы можно было вводить матрицу и ее размерность, и чтобы выводились собственные векторы
Нашел программу для нахождения собственных значений методом вращений якоби на этом сайте...

Модернизировать программу, чтобы переменные можно было вводить с клавиатуры
программа выполняет подсчет формулы TITLE PROGNAME (EXE)...

Как написать программу на С++, чтобы можно было вводить матрицу с клавы и в итоге она появилась на экране?
#include&lt;iostream&gt; using namespace std; int main() { int n,m; cout&lt;&lt; &quot; Vvedite razmer: &quot;&quot;\n&quot;;...


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

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

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