Необходимо переделать программу, чтобы в программе можно было вводить колличество итераций - C (СИ)
Формулировка задачи:
необходимо чтоб в программе можно было вводить колличество итераций (сейчас они заданы как бы по умолчанию)
#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]); } }
Решение задачи: «Необходимо переделать программу, чтобы в программе можно было вводить колличество итераций»
textual
Листинг программы
double sum,sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д