Задание: Заданы квадратная матрица А порядка n и число k(1<=k<=n). Столбец с минимальным по модулю элементом в k-той строке переставить с k-тым столбцом.
Вот сам код на С++
#include
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"RUS");
////////// Ввод //////////
int n(0);
cout<<" - Введите информацию о матрице -"<<endl;
while(n<1)
{
cout<<" Кол-во строк и столбцов:";
cin>>n;
if(n<1)
cout<<" !!!Нужно ввести число больше 0 !!!"<<endl;
}
int **A=new int*[n];
for(int i=0;i<n;i++)
A=new int[n];
cout<<" - Введите матрицу -"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
cout<<" Введите элемент в "<<i+1<<"-й строке "<<j+1<<"-го столбца:";
cin>>A[j];
}
int k(0);
while((k<1)||(k>n))
{
cout<<" Введите k:";
cin>>k;
if((k<1)&&(k>n))
cout<<" !!!k должно быть больше 0 и меньше "<<n+1<<" !!!"<<endl;
}
////////////////////
system("cls");
cout<<" - Исходная матрица -"<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf(" %3i",A[j]);
}
cout<<endl;
}
////////// Расчеты //////////
int nS(0);
for(int i=0;i<n;i++)
if(fabs(A[k-1])<fabs(A[k-1][nS]))
nS=i;
for(int i=0;i<n;i++)
{
int B=A[nS];
A[nS]=A[k-1];
A[k-1]=B;
}
////////////////////
cout<<endl<<" - Измененная матрица -"<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf(" %3i",A[j]);
}
cout<<endl;
}
system("pause");
for(int i=0;i<n;i++)
delete A;
delete A;
}
Вот сам код на С++
#include
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"RUS");
////////// Ввод //////////
int n(0);
cout<<" - Введите информацию о матрице -"<<endl;
while(n<1)
{
cout<<" Кол-во строк и столбцов:";
cin>>n;
if(n<1)
cout<<" !!!Нужно ввести число больше 0 !!!"<<endl;
}
int **A=new int*[n];
for(int i=0;i<n;i++)
A=new int[n];
cout<<" - Введите матрицу -"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
cout<<" Введите элемент в "<<i+1<<"-й строке "<<j+1<<"-го столбца:";
cin>>A[j];
}
int k(0);
while((k<1)||(k>n))
{
cout<<" Введите k:";
cin>>k;
if((k<1)&&(k>n))
cout<<" !!!k должно быть больше 0 и меньше "<<n+1<<" !!!"<<endl;
}
////////////////////
system("cls");
cout<<" - Исходная матрица -"<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf(" %3i",A[j]);
}
cout<<endl;
}
////////// Расчеты //////////
int nS(0);
for(int i=0;i<n;i++)
if(fabs(A[k-1])<fabs(A[k-1][nS]))
nS=i;
for(int i=0;i<n;i++)
{
int B=A[nS];
A[nS]=A[k-1];
A[k-1]=B;
}
////////////////////
cout<<endl<<" - Измененная матрица -"<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf(" %3i",A[j]);
}
cout<<endl;
}
system("pause");
for(int i=0;i<n;i++)
delete A;
delete A;
}