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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
Mut1late
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 8
#1

Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена. - C++

06.07.2011, 11:09. Просмотров 2572. Ответов 6
Метки нет (Все метки)

Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена.

Может кто-то помочь ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2011, 11:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена. (C++):

Упорядочить строки матрицы по возрастанию значений их наибольших элементов - C++
Задание: Дана матрица целых чисел. Упорядочить ее строки по возрастанию значений их наибольших элементов. Я всё реализовал, кроме...

Упорядочить строки матрицы по возрастанию значений их наибольших элементов - C++
Задание такое: Дана матрица целых чисел. Упорядочить ее строки по возрастанию значений их наибольших элементов. Никак не придумаю метод...

Упорядочить строки матрицы в порядке возрастания элементов главной диагонали - C++
Упорядочить строки матрицы m * n в порядке возрастания элементов в главной диагонали. Матрица вводится и выводится в главной программе....

Упорядочить строки матрицы по возрастанию значений самых больших элементов строк - C++
Здравствуйте. Имеется задание: Дано действительную матрицу размером m x n. Упорядочить (переставить) строки матрицы по возрастанию...

Упорядочить элементы столбцов матрицы по убыванию их значений методом обмена - C++
Сортировать элементы столбцов матрицы по убыванию их значений методом обмена fi (aij) -произведение элементов в каждой...

Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию - C++
дана матрица размерностью nxn, содержащая целые числа. Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
06.07.2011, 11:24 #2
а как должен выглядеть результат?
типо, если матрица

3 7 8 6
4 2 3 4
1 7 8 1
0 5 3 9

что на выходе будет?
0
Mut1late
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 8
06.07.2011, 11:28  [ТС] #3
По этой матрице на выходе должно получится
0 5 3 9
1 7 8 1
3 7 8 6
4 2 3 4
0
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
06.07.2011, 11:29 #4
во! а тогда причем тут диагональ, если сортировка по первым элементам строки?)
0
Mut1late
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 8
06.07.2011, 11:40  [ТС] #5
прости, я не правильно написал, на выходе должна получится диагональ по возрастанию, я уточнил, я думал просто что нужно упорядочить строки по возрастанию исходной матрицы..

Добавлено через 3 минуты
1 7 8 1
4 2 3 4
3 7 8 6
0 5 3 9
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.07.2011, 12:00 #6
ну и в чем проблема-то? диагональные элементы имеют индекс [i][i], вот и сортируйте их как обычный массив
0
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
06.07.2011, 12:50 #7
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
#include <iostream>
#include <time.h>
using std::cout;
using std::endl;
using std::cin;
 
int main()
{
    srand( time(0) );
    int N;
    cout << "Enter number of elements:" <<endl;
    cin >> N;
    int counter = 0;
    int **mat;
    mat = new int* [ N ];
    for ( int i = 0; i < N; i ++ )
    {
        mat[i] = new int [ N ];
        for ( int j = 0; j < N; j ++ )
        {
            mat[i][j] = rand() % 50;
        }
    }
 
    cout << "Base matrix:" << endl;
    for ( int i = 0; i < N; i ++ )
    {
        for ( int j = 0; j < N; j ++ )
            cout << mat[i][j] << "\t";
        cout << endl;
    }
 
 
    bool flag = true;
    while ( flag && counter < 20)
    {
        flag = false;
        counter ++;
        for ( int i = 0; i < N - 1; i ++ )
            for ( int j = i +1 ; j < N; j ++ )
            {
                if (mat[i][i] > mat [j][j] )
                    for ( int k = 0; k < N; k ++)
                    {
                        flag = true;
                        int tmp = mat[i][k];
                        mat[i][k] = mat[j][k];
                        mat[j][k] = tmp;
                    }
            
            }
 
    }
 
 
    if ( counter < 20 ) {
    cout << endl;
    for ( int i = 0; i < N; i ++ )
    {
        for ( int j = 0; j < N; j++ )
            cout << mat[i][j] << "\t";
        cout << endl;
    }
    }
    else cout << "Programm cant sort the matrix" << endl;
    
 
 
 
    for ( int i = 0; i < N; i ++ )
        delete [] mat[i];
 
    system("pause");
    return 0;
    }
все оказалось значительно труднее чем на первый взгляд
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2011, 12:50
Привет! Вот еще темы с ответами:

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов - C++
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов строк (использовать...

Упорядочить столбцы матрицы по не возрастанию значений наименьших элементов столбца - C++
упорядочить столбцы матрицы по не возрастанию значений наименьших элементов столбца! ПОМОГИТЕ!!! Нужно написать на С! Срочно!

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.07.2011, 12:50
Ответ Создать тему
Опции темы

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