Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

Написать программу в С++ решения линейных уравнений методом неполной релаксации

10-11 класс

Помогите пожалуйста!)

Ksenia889 18 апр. 2014 г., 17:08:14 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
89123389237
18 апр. 2014 г., 19:22:24 (10 лет назад)

#include<iostream.h>
#include<math>

int maximal(int n, double R0[]){

int i,f;

f=0.0;

for(i=0;i<n-1;i++){

if(R0[i+1]>R0[i]) f=i+1;

}

return f;

}

void main(){

int i,j,n,f,k,iter;

double S,det;

cout<<"Vvedite razmer kvadratnoy matrici= ";
cin>>n;

double *x=new double [n];

double **b=new double *[n];

for(i=0;i<n;i++)

 b[i]=new double[n+1];

double **a=new double *[n];

for(i=0;i<n;i++)

 a[i]=new double[n+1];

cout<<"Vvedite kolichestvo iteraciy:";

cin>>iter;

cout<<"Vvedite matritcu";

for(i=0;i<n;i++){

for(j=0;j<=n;j++)

cin>>b[i][j];

}

cout<<"podgotovka k relaksatcii...\n";

for(i=0;i<n;i++){

for(j=0;j<n;j++)

a[i][j]=-b[i][j]/b[i][i];

a[i][n]=b[i][n]/b[i][i];

}

for(i=0;i<n;i++){

for(j=0;j<n+1;j++)

cout<<" "<<a[i][j]<<" || ";

cout<<"\n";

}

double *x0=new double [n];

for(i=0;i<n;i++)

x[i]=0.0;

double *R0=new double [n];

cout<<"Vvedite znachenie nachal`nih priblizheniy:\n";

for(i=0;i<n;i++)

cin>>x0[i];

S=0.0;

for(i=0;i<n;i++){

for(j=0;j<n;j++)

S=S+a[i][j]*x0[i];

}

for(i=0;i<n;i++){

R0[i]=a[i][n]-x0[i]+S;

cout<<"R("<<i<<")="<<R0[i]<<" | ";

}

f=maximal(n,R0);

det=R0[f];

for(k=0;k<iter;k++){

cout<<"det{"<<k<<"}="<<det<<"\n";

for(i=0;i<n;i++){

if(i!=f) R0[i]=R0[i]+a[i][f]*det;

else R0[i]=R0[i]-det;

}

for(i=0;i<n;i++)

cout<<"R["<<i+1<<"]="<<R0[i]<<" ";

x[f]=x[f]+det;

f=maximal(n,R0);

det=R0[f];

}

cout<<"\n";

for(i=0;i<n;i++)

cout<<"X{"<<i+1<<"}="<<x[i]<<"\n";

delete []x;

delete []R0;

delete []x0;

delete []a;

cin.get();
cin.get();


}




Ответить

Читайте также

написать программу на Assembler

добрый вечер, всем. помогите, пожалуйста, написать программу на Ассемблере.

задание:
Создать программу на языке Ассемблер, что позволяет организовать вычисления над элементами массивов

Объединить два массива 8-битных целых чисел со знаком. Сначала элементы второго затем первого.

заранее огромное спасибо всем!

дан массив из семи элементов написать программу подсчитывающую

среднее второго и предпоследнего элементов массива
дан целочисленный
массив из 10 элементов написать программу находящую сумму элементов
массива красных 3 ил 5
дан целочисленный массив из 30 ти элементов
написать программу которая позволяет найти среднее арифметическое
положительных элементов массива

1) Написать программу для вычисления суммы цифр пятизначного числа , введенного с клавиатура

2) Заданы действительные числа a , b , c и d . Написать программу нахождения полусуммы наименьшего и наибольшего из них.
3) Написать программу для вычисления суммы цифр числа , введенного с клавиатуры

Помогите прошу



Вы находитесь на странице вопроса "Написать программу в С++ решения линейных уравнений методом неполной релаксации", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.