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

Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы - C++

Восстановить пароль Регистрация
 
Dunaizis
1 / 1 / 0
Регистрация: 10.12.2013
Сообщений: 20
08.01.2014, 20:51     Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы #1
Найти минимальный из элементов в области ,ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы.B[6][6]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 20:51     Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
__General__
24 / 24 / 3
Регистрация: 04.01.2014
Сообщений: 91
Завершенные тесты: 2
08.01.2014, 23:17     Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы #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
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
#include <iostream>
#include <locale>    //нужно, чтобы подключить русский язык.
#include <iomanip>   //требуется для форматирования вывода (используем манипуляторы left и setw в функции print_matrix(...)).
 
using namespace std;
 
int get_max_el(int **matr, int M, int N);
void print_matrix(int **matr, int M, int N); //удобный вывод матрицы на экран.
 
int main()
{
    locale::global(locale("Russian")); //подключаем русский язык.
 
    int M, N;
    cout <<"Введите размеры матрицы: "; //для того, чтобы в матрице содержались элементы, лежащие ниже побочной диагонали, нужно, чтобы M > 1.
    cin >>M >>N;
 
    //динамически выделяем память под матрицу:
    int **matrix = new int*[M];  
    int i, j;
    for (i = 0; i < M; i++) {
        matrix[i] = new int[N];
    }
 
    cout <<"Введите элементы матрицы:\n"; //вводим матрицу размера MxN.
    for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++) {
            cin >>matrix[i][j];
        }
    }
 
    cout <<"Итак, вы ввели матрицу:\n";
    print_matrix(matrix, M, N);
 
    int max = get_max_el(matrix, M, N);
    cout <<"Максимальный элемент, лежащий ниже побочной диагонали: " <<max <<'\n';
 
    cin.get(); //задержка консольного окна - чтобы не погасло раньше времени.
    cin.get();
 
    //освобождаем память:
    for (i = 0; i < M; i++) {
        delete [] matrix[i];
    }
    delete [] matrix;
 
    return 0;
}
 
int get_max_el(int **matr, int M, int N)   //элементы, лежащие ниже побочной диагонали, удовлетворяют неравенству: i > N-1-j;
{
    int i, j, max = matr[1][N-1];
    for (i = 2; i < M; i++) { 
        for (j = N-1; i > N-1-j; j--) {
            if (matr[i][j] > max) {
                max = matr[i][j];
            }
        }
    }
 
    return max;
}
 
void print_matrix(int **matr, int M, int N) 
{
    int i, j;
    for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++) {
            cout <<left <<setw(5) <<matr[i][j];
        }
        cout <<'\n';
    }
    cout <<'\n';
}

Ваша задачка похоже, а в чем-то даже проще, т к уже задан размер матрицы - 6х6, что позволяет работать со статическим двумерным массивом.
Yandex
Объявления
08.01.2014, 23:17     Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы
Ответ Создать тему
Опции темы

Текущее время: 18:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru