|
|
|
| просьба помочь правильно решить эту наверно простую для вас, но пока что не для меня задачу):
Задать матрицу размером NxN и найти максимальный по модулю элемент данной матрицы...
+
Переставить строки и стобцы данной матрицы так, чтобы максимальный по модулю элемент находился на пересечении k-ой строки и k-ого столбца...
Заранее спасибо, очень хотелось бы решить данную задачу) О способе задачи матрицы ничего не сказано (рандом или с клавы - так что без разницы, лучше наверно всетаки вводить числа самому)) | |
|
|
|
|
|
|
|
для: Matt
(03.06.2008 в 02:06)
| | сделал с помощью программистов) можт пригодица кому)
#include <iostream.h>
#include <math.h>
//n-число строк,m-число столбцов,s-номер столбца максимального элемента,
//t-номер строки максимального элемента, fabs() - функция из math.h - вычисляет
// абсолютное значение числа типа double.
void main()
{
double **a,*p,h;
int n,m,i,j,k;
cout << "Nahodim maximalniy element matricy NxN"<< endl;
cout << "--------------------------------------"<< endl;
cout << "Vvedite kol-vo stolbcov i strok:" << endl;
cin >> m;
n=m;
cout << "Vvedite elementy matricy:" << endl;
a=new double *[n];
for(i=0;i<n;i++)
a[i]=new double[m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>a[i][j];
//-------Находим максимум----------------
double l=fabs(a[0][0]);
int s=0,t=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(fabs(a[i][j])>l)
{
l=fabs(a[i][j]);
t=i;
s=j;
}
cout <<"Maximalniy po modulyu element matricy = ";
cout <<l<<endl;
cout<<" "<<endl;
cout<<"Vvedite nomer stroki(stolbca) na peresechenii kotoryh budet max element:"<< endl;
cin>>k;
cout<<"Matrica prinyala vid:"<<endl;
cout << "---------------------"<< endl;
//-------Переставляем строки и столбцы----------------
p=a[k-1];
a[k-1]=a[t];
a[t]=p;
for(i=0;i<n;i++)
{
h=a[i][k-1];
a[i][k-1]=a[i][s];
a[i][s]=h;
}
//--------Вывод на экран матрицы---------------
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
//---------Освобождаем память---------
for(i=0;i<n;i++)
delete [] a[i];
delete [] a;
} | |
|
|
|