Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Матрица [C++]

32K
23 октября 2007 года
less_than_dusk
3 / / 23.10.2007
Я - дурак, удалил случайно человеку программу е которой он долго и упорно шёл, пожайлуста, помогите. Сам я в этом не бельмеса.

По матрице размерностью m*n и заданному числу нужно построить вектор, элемент которого равен 1,а если наибольший элемент соответствующей строки матрицы не меньше заданного числа, и 0 - в остальных случаях. Определить моду для элемента вектора.Считать m<=10, n<=20
361
23 октября 2007 года
Odissey_
661 / / 19.09.2006
Код:
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;
}
32K
23 октября 2007 года
less_than_dusk
3 / / 23.10.2007
Ты - просто офигенно крут! Спасибо тебе, о, добрый человек.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог