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

Путем перестановки элементов квадратной действительной матрицы достичь того, чтобы ее максимальный элемент находился в левом верхнем углу... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пара вопросов по функторам stl http://www.cyberforum.ru/cpp-beginners/thread231944.html
Доброго времени суток! У меня возникло пара вопросов по функторам. Может кто чего подскажет? Вопрос 1. В нижеследующем коде в стандартном алгоритме for_each используется функтор IsEvan. Почему мы можем использовать функтор таким вот образом? Разве не логичней сначала создать объект класса IsEvan и именно его использовать в алгоритме? class IsEvan { public: void operator()(int num) {
C++ create a number Добрый всем вечер!Затрудняюсь написать программу,которая запрашивает у пользователя число.Задача: - подсчитать количество разрядов этого числа; - найти сумму цифр этого числа; - перевернуть это число наоборот. Вроде код вырисовывается,но вот разряды не идут...( Зараннее благодарен! http://www.cyberforum.ru/cpp-beginners/thread231933.html
C++ Как исправить ошибки при компиляции PC_Simulatora.
Здравствуйте.Собственно дело вот в чем я ремонтирую моб.телефоны и постоянно сталкиваюсь с проблемой правки и отладки прошивок.Для этого мене нужна эта программа,я поставил VC 6 SP5 открываю в VC 6 файл PC_Simulator.dsw и выскакивают сообщения что PC_Simulator.dsp invalid,MMI.dsp invalid,VendorApp.dsp invalid и все дальше ничего не идет.Как мне это исправить бьюсь уже месяц,до этого с...
C++ Не правильно работает. s = (a/(b*(c/(d*(e/(f*h))))));
2. На входе имеются вещественные числа a, b, c, d, e, f, h. Напишите программу для вычисления значения выражения В программе необходимо предусмотреть проверку ситуации, когда значение выражения не определено. При запуске программы на экране должна появиться строка-подсказка «enter number 1: », а после ввода первого числа – строка-подсказка «enter number 2: ». Вывод результата должен...
C++ Найдите сумму чётных и отрицательных чисел http://www.cyberforum.ru/cpp-beginners/thread231875.html
Найдите сумму тех чисел, которые чётные и отрицательные. Ребят помогите пожалуйста :(
C++ Виртуальные функции Если в базовом классе А есть виртуальная функция show() перегруженная, то есть имеется три разные версии этой функции. Есть класс Б производный от А. В этом классе есть виртуальная функция замещающая одну из виртуальных функций базового класса(функцию show()). Если я объявлю указатель на базовый класс и инициализирую его объектом класса Б и вызову через этот указатель функцию show() с... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2798 / 1574 / 246
Регистрация: 03.05.2010
Сообщений: 3,655
21.01.2011, 03:26     Путем перестановки элементов квадратной действительной матрицы достичь того, чтобы ее максимальный элемент находился в левом верхнем углу...
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//////////////////////////////////////////////////////////////////////////////////////
//Это задание: путем перестановки элементов квадратной действительной матрицы 
//достичь того, чтобы ее максимальный элемент находился в левом верхнем углу, 
//следующий по величине в позиции (2,2), следующий по величине (3,3) и т.д., 
//заполнив таким образом всю главную диагональ.
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
const size_t  MATR_DIM = 5;
//////////////////////////////////////////////////////////////////////////////////////
typedef double       T_num;
typedef T_num        T_matr[MATR_DIM][MATR_DIM];
typedef std::string  T_str;
//////////////////////////////////////////////////////////////////////////////////////
void  print_matr
    ( 
        const T_str&   prompt,
        const T_matr&  matr
    )
{
    std::cout << prompt
              << std::endl
              << std::endl;
    for(size_t  i = 0; i < MATR_DIM; ++i)
    {
        for(size_t  j = 0; j < MATR_DIM; ++j)
        {
            std::cout << matr[i][j]
                      << '\t';
        }    
        std::cout << std::endl
                  << std::endl
                  << std::endl;
    }
    std::cout << std::endl;
}
//////////////////////////////////////////////////////////////////////////////////////
void  sort_matr(T_matr&  matr)
{
    std::sort(matr[0], matr[0] + MATR_DIM * MATR_DIM);
    std::reverse(matr[0], matr[0] + MATR_DIM * MATR_DIM);
    for(int  j = 0; j < MATR_DIM; ++j)
    {
        std::swap(matr[0][j], matr[j][j]);
    }
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    srand(static_cast<unsigned>(time(0)));
 
    struct  T_gen_real_with_mod
    {
        const size_t MOD_;
        //-----------------------------------------------------------------------------
        T_gen_real_with_mod(size_t mod) : MOD_(mod)
        {}
        //-----------------------------------------------------------------------------
        T_num  operator() ()
        {
            return  rand() % (MOD_ * 100) / 100.0;
        }
    };
    
    T_num  matr[MATR_DIM][MATR_DIM] = {0};
    std::generate(matr[0], matr[0] + MATR_DIM * MATR_DIM, 
                  T_gen_real_with_mod(MATR_DIM * MATR_DIM * MATR_DIM));
    print_matr  ("Матрица до сортировки:",     matr);
    sort_matr   (matr);
    print_matr  ("Матрица после сортировки:",  matr);
}
 
Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru