typedef std::vector< std::vector<int> > matrix;
std::ostream &operator<<(std::ostream &output, const matrix &_m)
{
for(unsigned int i = 0;i<_m.size();++i)
{
for(unsigned int j = 0;j<_m.size();++j)
output<<_m[j] << "\t";
output<<std::endl;
}
return output;
}
int main()
{
srand(time(0));
unsigned int n,m;
int p;
std::cout << "Введите размерность матрицы:";
std::cin >> n >> m;
std::cout << "Введите граничное число:";
std::cin >> p;
matrix _matrix(n, std::vector<int>(m) );
for(unsigned int i = 0; i<n; ++i)
{
for(unsigned int j = 0; j<m; ++j)
_matrix[j] = rand();
}
std::cout << _matrix << std::endl;
for (unsigned int i = 0; i<n; ++i)
std::sort(_matrix.begin(),_matrix.end());
std::cout << _matrix << std::endl;
std::vector<int> _vector(n);
unsigned int moda = 0;
for (unsigned int i = 0; i<n; ++i)
if (_matrix[m-1] > p)
{
_vector = 1;
moda++;
}
else
_vector = 0;
for (unsigned int i = 0; i<n; ++i)
std::cout << _vector << "\t";
std::cout << std::endl;
// при соотношении 50% на 50% мода = 1
if ( 2*moda >= n )
std::cout << "Мода вектора = 1" << std::endl;
else
std::cout << "Мода вектора = 0" << std::endl;
return 0;
}
Матрица [C++]
По матрице размерностью m*n и заданному числу нужно построить вектор, элемент которого равен 1,а если наибольший элемент соответствующей строки матрицы не меньше заданного числа, и 0 - в остальных случаях. Определить моду для элемента вектора.Считать m<=10, n<=20
Ты - просто офигенно крут! Спасибо тебе, о, добрый человек.