Форум программистов, компьютерный форум CyberForum.ru

Матрицы: отсортировать главную диагональ по убыванию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблемы с рекурсией http://www.cyberforum.ru/cpp-beginners/thread579262.html
Ситуация такая: Требуется построить граф вопросника. В main мы делим таблицу по определенному условию. потом запускаем countmnozh, передав ей таблицу, куда записать получившийся граф. После передачи функция, если длина переданного множества mnozfalse (или mnoztrue) больше единицы, опять делим на множества и рекурсивно запускаем функцию. Проблема состоит в том, что при запуске рекурсии...
C++ Вывести значения функции в заданном интервале Имеется цикл for(p=0;p<=1;p=p+0.05).Каждый раз к p прибавляются разные значения. Например один раз 0,05000000000002 другой 0.0499999999999. В результате не высчитывается значение функции H при единице. Последний вывод H(0.95)=0.0703 Как это можно исправить? void f1() { double H=0, p=0,Hr=0; int i=0,n=0; system("cls");... http://www.cyberforum.ru/cpp-beginners/thread579253.html
C++ кодировка символов
Всем привет! Столкнулся с такой проблемкой: есть поле unsigned char в него я и ввожу параметр значения, однако необходимо чтобы результат ввода оказался пределах от 0 до 99, как ограничить ввод символов не понимаю Заранее всем спасибо
C++ Блок Схемы
Люди помогите нарисовать блок схему Вводится n чисел до тех пор пока не будет введено число из промежутка от 10 до 20. Подсчитать количество нечетных чисел и вывести. random(50)
C++ Информатика 8-9 классы http://www.cyberforum.ru/cpp-beginners/thread579204.html
Народ! Срочно нудна помощь! Информатика 8-9 класс! Пожалуйста, кто сможет помочь=))
C++ Скрытие закрытых членов класса Здравствуйте! Если создать простой пример класса: class MyClass { int X; // закрытый экземпляр переменной public: подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,426
19.05.2012, 03:44     Матрицы: отсортировать главную диагональ по убыванию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <algorithm>
#include <iterator>
#include <random>
#define N 7
 
int* min_element_in_line(int *);
void sort_diag(int *);
 
int main()
{
    int arr[N][N], diag[N];
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> uid(0, 20); 
    std::generate(&arr[0][0], &arr[N][N], [&uid, &gen] {return uid(gen); } ); 
    std::for_each(arr, arr + N, [](const int* pvalue)
       {std::copy(pvalue, pvalue + N, std::ostream_iterator<int>
           (std::cout, " ") ); std::cout<< std::endl; } );
    int index = 0;
    std::cout<< std::endl; 
    std::for_each(arr, arr + N, [&index, &arr](int* pvalue)
       {std::swap(*min_element_in_line(pvalue), pvalue[index++] ); 
        std::copy(pvalue, pvalue + N, std::ostream_iterator<int>
            (std::cout, " ") ); std::cout<< std::endl; } );
    for (int i=0; i < N; i++)
        diag[i] = arr[i][i];
    std::cout<< std::endl; 
    sort_diag(diag);  
    for (int i=0; i < N; i++)
        arr[i][i] = diag[i];
    std::for_each(arr, arr + N, [](const int* pvalue)
       {std::copy(pvalue, pvalue + N, std::ostream_iterator<int>
           (std::cout, " ") ); std::cout<< std::endl; } );    
    return 0;
}  
 
int* min_element_in_line(int *a)
{
    return std::min_element(a, a + N);
} 
 
void sort_diag(int *x)
{
    std::sort(x, x + N, std::greater<int>());
}
 
Текущее время: 15:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru