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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить изоморфен ли граф своему дополнению http://www.cyberforum.ru/cpp-beginners/thread1063983.html
Добрый день. Существует ли какой либо критерий для неориентированных графов. В данном случае есть граф и есть его дополнение нужно определить изоморфны ли друг другу они. И еще, матрицу смежности дополнение графа найти я так полагаю можно за счет обратной матрицы смежности графа, то есть кроме главной диагонали, везде меняем 0 на 1 и наоборот?
C++ Найти все трехзначные парные числа, которые являются точными квадратами Помогите пожалуйста 1. Найти все трехзначные чётные числа, которые есть точными квадратами. 2. Протабулировать функцию f(x,y) , якщо x є(1;1,4) , а y є (0;0,5) з с шагом обоих переменных 0,05. http://www.cyberforum.ru/cpp-beginners/thread1063967.html
Как написать свой таймер? C++
Чтобы функция выполнялась скажем каждые 200 миллисекунд. Сейчас WM_TIMER делает это, но он не подходит. Искал по многим запросам в гугле и не смог найти простого примера.
Какие есть специальные символы и каково их назначение? C++
какие в с++ есть специальные символы и каково их назначение?
C++ Двумерный массив. Найти: максимальное из чисел, встречающихся в заданной матрице более одного раза http://www.cyberforum.ru/cpp-beginners/thread1063924.html
Найти: максимальное из чисел, встречающихся в заданной матрице более одного раза Матрица: 2 4 7 6 5 8 9 34 43 4 34 53 45 345 3 6 5 56 5 656 5 4 3 4 34 34 3 43 23 2 4 34 53 5 54 5 5 9 65 16 62 1651 5 46 46 46 4 65 46 6862 3430 35 103 грубо говоря, если я вставлю рандом, кто может подсказать пути решения такой задачи?
C++ Вывести на экран элементы массива, стоящие на четных местах и вычислить их произведение помогите 1) Дано линейный массив действительных чисел. Вывести на экран элементы массива, стоящие на четных местах и вычислить их произведение. 2) Дано линейный массив действительных чисел. Вычислить разность между наибольшим и наименьшим элементами массива. подробнее

Показать сообщение отдельно
__General__
24 / 24 / 3
Регистрация: 04.01.2014
Сообщений: 91
Завершенные тесты: 2
06.01.2014, 05:14     Двухмерный массив: найти максимальный из элементов, лежащих ниже побочной диагонали
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';
}
все работает
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru