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

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

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

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

12.04.2010, 16:04. Просмотров 295. Ответов 0
Метки нет (Все метки)

дана матрица найти её собственный вектор и собственное значение методом итерации - данная задача всё это выполняет только необходимо вводить количество итераций

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

вот сам пример задачи в http://************.com/files/x99itl7se


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]); 
} 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2010, 16:04     Необходимо переделать программу, чтобы в программе можно было вводить колличество итераций
Посмотрите здесь:

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

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

Как сделать, чтобы можно было не однократно вводить значения? - C++
Как сделать, чтобы можно было не однократно вводить значения.

Нужно сделать, чтобы в Edit можно было вводить не более 3-х символов - C++
Нужно сделать, чтобы в Edit можно было вводить не более 3-х символов

Как сделать в коде программы, чтобы можно было вводить числа самому, а не случайно. (Код прилагается) - C++
Доброго времени суток. Хочу узнать, как можно сделать вместо случайного ввода чисел заданый ввод. Нужно ввести вектор А, вместо его...

Переделать программу так что бы можно было нарисовать линиями - C++
Нужно переделать программу так что бы можно было нарисовать линиями , а потом то что нарисовал поворачивать по оси и маштабировать . ...

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа - C++
#include &lt;iostream&gt; using namespace std; int main() {int a=0,b=0; int i=0; cout&lt;&lt;&quot;Vvedite i=&quot;&lt;&lt;endl; cin&gt;&gt;i; ...

необходимо переделать программу, чтобы вместо обычных массивов были динмические - C++
всем заранее спасибо :friends: # include &quot;iostream&quot; # include &lt;math.h&gt; # include &quot;iomanip&quot; # include &quot;strstream&quot; # include...

Сделать, чтобы размер массива нужно было вводить с клавиатуры и он заполнялся случайными числами - C++
Как можно сделать, чтобы размер массива нужно было вводить с клавиатуры и он определялся через ranomize(), т.е массив создавался из...

Создать массив с нулями и единицами в шахматном порядке, что бы его размер можно было вводить с клавиатуры - C++
Помогите пожалуйста создать массив с нулями и единицами в шахматном порядке, что бы его размер можно было вводить с клавиатуры. Или...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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