tutotveti.ru
Предметы
Биология
Українська мова
Музыка
Французский язык
Физика
МХК
Обществознание
Психология
ОБЖ
Право
Беларуская мова
Литература
Химия
Українська література
Экономика
Немецкий язык
География
Информатика
Қазақ тiлi
Геометрия
Английский язык
Русский язык
Окружающий мир
Алгебра
История
Другие предметы
Видео-ответы
ПОИСК
Войти
Регистрация
Информатика
Написать программу в с++
Написать программу в с++ решения линейных уравнений методом неполной релаксации ! )
MrTarelo4ka
2 23.05.2019 14:30
0
Ответы
ogannisyan2001
19.06.2020 07:49
#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();
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика
musadelimhanov7
31.05.2020 00:00
Напишите программу, которая получает с клавиатуры номер месяца и выводит название соответствующего ему время года или сообщение об ошибке. Язык программирования Python...
Mamulia1221
11.07.2019 01:40
Программа в паскале абс. работаем сейчас с массивом. вот, собственно, и : две подряд встречающиеся единицы заменить на две двойки...
mariii222
18.05.2019 22:20
Может ли модель включать в себя только константы?...
JuliaPetrova56
18.05.2019 22:20
Что изучает: ,фонетика,ботаника,имя существительное,глагол,земледельцы,животноводы,тяжёлая промышленность,лёгкая промышленность?...
messor06
18.05.2019 22:20
Какое количество байтов будет передаваться за 0.2 и 0.5 с по каналу передачи информации с пропускной гбит/с и 1кбит/с?...
yana01111
26.02.2019 14:40
Определите объем сероводорода который образуется при взаимодействии сульфида цинка с 190см3 17% раствора хлороводорода р=1.098 четверная оценка...
marinagridina34
26.02.2019 14:40
.(Подобрать к слову сказка, родственные слова. оъяснить значение каждого записанного слова.)....
MrtMiyaGi
26.02.2019 14:40
Оксид углерода (iv) полученный при сжигании 50г угля пропустили через ва(он)2. какая масса осадка образовалась если массовая доля углерода в угле составляет 96%....
kris334334kris334334
26.02.2019 14:40
.(Три шага папы в длину такие же, как пять шагов его сына. в то время когда папа делает шесть шагов, его сын сделает семь. папа начал ходьбу после того как его сын...
coco123321
26.02.2019 14:40
Диагональ куба равна 6 см. найдите: а)ребро куба б)косинус угла между диагональю кубы и плоскостью одной из его граней...
Популярные вопросы
товар стоил 49000 рублей его цена повысилось на 35 процентов....
1
Какую часть поверхности Земли покрывает Мировой океан? 1/2 4/5...
2
Запишите 10—15 специальных слов, употребляемых в профессии ваших...
3
У какова жилотнова на ногах глаза...
2
переделать сочинение из книжной речи в разговорную....
1
Задания типы химических реакций. ответьте на вопросы. Задания...
1
Бөлгіш 65 бөліндінің мәні934 қалдық50...
1
Түркеш қағанатының өмір сүрген уақыты?...
3
Сравни числа поставь пропущенные знаки математике 1 класс ...
1
Географиялық номенклатура Кескін картаға Еуразияның тауларын белгіле....
1
#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();
}