Необходимо переделать программу, чтобы в программе можно было вводить колличество итераций - 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;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы