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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vladis1111
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 2
#1

Сортировать максимальные элементы матрицы перестановкой - C++

17.11.2014, 18:02. Просмотров 130. Ответов 1
Метки нет (Все метки)

Нужно путем перестановки элементов в матрице достигнуть того, чтобы её максимальный элемент находился в верхнем левом углу (0,0), следующий максимальный в (1,1), следующий за величиной на позиции (2,2) и так далее по всей главной диагонали.

На жаль я понятия не имею, как её решить, по этому кода кинуть не могу. Буду надеяться, что вы поймете мое положение Буду очень признателен если поможете!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 18:02     Сортировать максимальные элементы матрицы перестановкой
Посмотрите здесь:

Расположить элементы матрицы так, чтобы на побочной диагонали были бы максимальные элементы строк - C++
Доброго времени суток. помогите пожалуйста с задачей последняя осталась) Расположить элементы матрицы M, так чтобы на побочной диагонали...

Максимальные элементы строк матрицы - C++
напишите код программы как можно проще и поясней!! В матрице А(m,n) (m<=5, n<=3) найти сумму максимальных(max) элементов ее...

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

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

Сортировать элементы строк матрицы по убыванию их значений методом обмена - C++
народ нужна помощь срочно!!! кто поможет написать код? 1. Составить блок-схему алгоритма и программу на языке Cи по заданию, ...

Найти максимальные элементы каждой строки матрицы - C++
Дан двумерный массив А. Массив В(5) нужно построить следующим образом: к массиву B(j) нужно присвоить самый наибольший элемент находящийся...

Найти максимальные и минимальные элементы матрицы и их кординаты - C++
С помощью датчика случайнных чисел сформулировать матрицу H.Вывести ее на экран. Найти максимальные и минимальные элементы матрицы и их...

Найти максимальные элементы каждой строки двумерной матрицы - C++
составить программу, которая находит максимальные элементы каждой строки двумерной матрицы A, состоящей из m строк и n столбцов

Для прямоугольной матрицы найти минимальные и максимальные элементы - C++
Для прямоугольной матрицы найти минимальный из положительных и максимальный из отрицательных элементов. Нулевые элементы не учитывать. ...

Найти максимальные элементы каждой строки матрицы и просуммировать их - C++
Помогите, надо найти сумму, всё остальное вроде получилось: #include <iostream> #include <time.h> using namespace std; int main() ...

Поменять местами строки, содержащие минимальные и максимальные элементы матрицы - C++
Дана матрица размером М х N. Поменять местами строки, содержащие минимальные и максимальные элементы матрицы.

Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный - C++
Вообщем. Есть двумерный массив(матрица) Matrix] и одномерный массив pi 1 часть Заполняем массив pi 2,3,4,7,8,9 Заполняем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
17.11.2014, 23:12     Сортировать максимальные элементы матрицы перестановкой #2
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
#include <iostream>
#include <time.h>
void main(){
    const int n=5;
    int i, j, q,maxi, maxj, nextmax=std::numeric_limits<int>::max(), max, a[n][n];
        srand(time(0));
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
            a[i][j]=rand()%100;
            std::cout<<a[i][j]<<"\t";
        }
        std::cout<<std::endl;
    }
    for (q=0; q<n; q++)
    {
        max=std::numeric_limits<int>::min();
        for(i=0; i<n; i++)
            for(j=0; j<n; j++)
                if (a[i][j]>max&&a[i][j]<nextmax)
                {
                    max=a[i][j];
                    maxi=i;
                    maxj=j;
                }
        {
            int temp=a[q][q];
            a[q][q]=a[maxi][maxj];
            a[maxi][maxj]=temp;
        }
        nextmax=max;
    }
    std::cout<<"modified array:\n";
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
            std::cout<<a[i][j]<<"\t";
        std::cout<<std::endl;
    }
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru