Проблем с програма на С++
1 отговора
324 прегледа
Проблем с програма на С++
Здравейте! Имам да реша следната задача:
Матрицата А има седлова точка в aij, ако aij е минимален елемент в i-тия ред и максимален елемент в j-тия стълб. Да се състави програма, която намира всички седлови точки на дадена матрица А.
Досега съм направил следното нещо: решил съм задачата но само за максималния елемент в стълба. Твябва да напрася същото и за минималния елемент в реда, тоест трябва да ми покаже едновременно кой елемент е максимален за стълба и минимален за реда! Нямам идея как ще стане, моля ви за помощ! Ето го и сорса:
#include <iomanip.h>
const int rows=3;
const int cols=4;
void max_cols(int m[][cols], int s[])
{for(int j=0; j<cols; j++)
{int max=m[0][j];
for(int i=1;i<rows;i++)
if (m[j]>max)max=m[j];
s[j]=max;
}
}
int main()
{
int m[rows][cols];
cout<<"Vavedete elementite na masiva: \n";
for(int i=0; i<rows; i++)
for(int j=0; j<cols; j++)
{cout<<"m["<<i<<"]["<<j<<"]=";
cin>>m[j];
}
cout <<"\n";
for(i=0; i<rows; i++)
{
for(int j=0; j<cols; j++)
cout<<setw(5)<<m[j];
cout<<endl;
}
int res[cols];
max_cols(m,res);
cout<<"\n Maksimalni elementi po stylbove: \n";
for(i=0;i<cols;i++)
cout<<"Stylb"<<i<<":"<<res<<endl;
return 0;
}
Матрицата А има седлова точка в aij, ако aij е минимален елемент в i-тия ред и максимален елемент в j-тия стълб. Да се състави програма, която намира всички седлови точки на дадена матрица А.
Досега съм направил следното нещо: решил съм задачата но само за максималния елемент в стълба. Твябва да напрася същото и за минималния елемент в реда, тоест трябва да ми покаже едновременно кой елемент е максимален за стълба и минимален за реда! Нямам идея как ще стане, моля ви за помощ! Ето го и сорса:
#include <iomanip.h>
const int rows=3;
const int cols=4;
void max_cols(int m[][cols], int s[])
{for(int j=0; j<cols; j++)
{int max=m[0][j];
for(int i=1;i<rows;i++)
if (m[j]>max)max=m[j];
s[j]=max;
}
}
int main()
{
int m[rows][cols];
cout<<"Vavedete elementite na masiva: \n";
for(int i=0; i<rows; i++)
for(int j=0; j<cols; j++)
{cout<<"m["<<i<<"]["<<j<<"]=";
cin>>m[j];
}
cout <<"\n";
for(i=0; i<rows; i++)
{
for(int j=0; j<cols; j++)
cout<<setw(5)<<m[j];
cout<<endl;
}
int res[cols];
max_cols(m,res);
cout<<"\n Maksimalni elementi po stylbove: \n";
for(i=0;i<cols;i++)
cout<<"Stylb"<<i<<":"<<res<<endl;
return 0;
}
Когато постваш код ...
Кодът се огражда с тагове [ pre ] [ /pre ] (без шпациите) за да не губи индентация (разстоянията от началото на реда). Освен това индексите i се правят с шпация-две (m[ i ]) за да не стават на Italic.
Така или иначе едва ли някой ще седне да го чете. Алгоритъмът е елементарен, кво не ти е ясно?!
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Така или иначе едва ли някой ще седне да го чете. Алгоритъмът е елементарен, кво не ти е ясно?!
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_