Войти
Регистрация
Спроси ai-bota
В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Показать больше
Показать меньше
margo1236
07.05.2021 17:53 •
Информатика
Написать программу в с++ решения линейных уравнений методом неполной релаксации ! )
Ответ:
daulrtutegenov1
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();
}
0,0
(0 оценок)
Популярные вопросы: Информатика
nastenka19832
27.04.2020 03:15
1. Почему люди используют пароль для шифрования своих документов?2. Что можно сказать о положительных и отрицательных сторонахустановки пароля на документ?3. В чем, по твоему...
Акося3557
05.10.2021 03:06
Вывести на печать элементы массива большие или равные среднему арифметическому...
elenakosolapova
08.08.2020 22:44
Как изменить имя профиля, вот у меня proxakerow23ua, хотелось бы progxaker....
Fox123468631454
09.08.2021 01:51
Проанализируй базу данных некоторого железнодорожного вокзала «Расписание поездов дальнего следования». Пункт назначения Категория поезда Время в пути Самара скорый 13:46...
таня1966
24.06.2022 21:14
Вычислить. 453 в 8 степени+11100011 в 2 степени в 2й системе счисления...
DiaPika
28.09.2021 06:02
Часовые пояса. таня решила позвонить своей подруге, но вспомнила, что та живёт далеко, поэтому в часовом поясе подруги может быть слишком поздно или рано. часы у тани показывают...
uychuuus
11.02.2022 17:28
Объясните что такое тактовая чистота и разрядность компа...
kristinkadulesova
03.07.2022 00:21
Напишите программу, вычисляющую расстояние, которое преодолел велосипедист за t часов, если он двигался со скоростью v км/ч. v=20 t=3 s=60...
temur4
22.04.2023 10:20
Написать программу, которая проверяет, делится ли на три целое число, введенное с клавиатуры....
kadieva1976
07.01.2023 07:09
Дан произвольный текст. подсчитать, чего в нем больше - букв или цифр? pascal abc. ,...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
#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();
}