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

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

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

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

12.04.2010, 16:04. Просмотров 290. Ответов 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++
Как сделать в коде программы, чтобы можно было вводить числа самому, а не случайно. (Код прилагается) C++
Переделать программу так что бы можно было нарисовать линиями C++
C++ Как сделать, чтобы можно было не однократно вводить значения?
C++ Нужно сделать, чтобы в Edit можно было вводить не более 3-х символов
Как написать программу на С++, чтобы можно было вводить матрицу с клавы и в итоге она появилась на экране? C++
создать массив с нулями и единицами в шахматном порядке, что бы его размер можно было вводить с клавиатуры C++
Переделать код так, чтобы значения можно было задавать с клавиатуры C++
C++ Как сделать чтобы при компиляции cin>>a>>b>>c; вводить можно было в одну строку?
C++ Сделать, чтобы размер массива нужно было вводить с клавиатуры и он заполнялся случайными числами
Переделать программу так, чтобы можно было сохранить результат обработки C++
C++ Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом

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

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

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