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

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

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

Вычислить 2 минимальных элемента матрицы: в верхнем треугольнике и в нижнем - C++

03.05.2015, 20:44. Просмотров 382. Ответов 2
Метки нет (Все метки)

Всем привет. Долго мучилась с одной задачкой. Решения так и не нашла. Надеюсь вы мне поможете.
Суть вот в чем. Необходимо создать двумерный массив размерностью NxM и вычислить 2 минимальных элемента матрицы: в верхнем треугольнике и в нижнем треугольнике относительно главной диагонали, не учитывая элементы, лежащие на самой диагонали.
Насколько я поняла, необходимо чтобы прога с генерировала рандомный массив. С этим проблем нет. Но вот как вычислить минимальные элементы..
Может кто-нибудь подскажет как это все организовать? (
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2015, 20:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить 2 минимальных элемента матрицы: в верхнем треугольнике и в нижнем (C++):

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

Найти индексы минимального элемента матрицы, находящегося в верхнем треугольнике между двумя диагоналями - C++
Помогите с лабораторной работой!!! Дан квадратный массив порядка n<=10. найти значения индексов минимаьного элемента находящегося в...

Массив: найти сумму элементов матрицы в нижнем треугольнике - C++
найти сумму элементов матрицы в нижнем треугольнике

Поменять местами элементы матрицы, расположенные в верхнем правом и нижнем левом углах - C++
Дан двумерный массив. поменять местами: а) Элементы расположенные в верхнем правом и нижнем левом углах; б) Элементы расположенные в...

Выяснить, есть ли четные числа в левом верхнем или в нижнем левом углу матрицы - C++
Дано двумерный массив целых чисел. выяснить: а) есть ли четные числа в левом верхнем или в нижнем левом углу; б) есть ли числа,...

Определить имеются ли числа, оканчивающиеся нулем, в правом верхнем или в правом нижнем углу матрицы - C++
помогите написать программу для. Дан двумерный массив целых чисел. имеются ли числа, оканчивающиеся нулем, в правом верхнем или в правом...

2
IrineK
Заблокирован
03.05.2015, 21:39 #2
Верхний треугольник и нижний треугольник, как и сама главная диагональ, возможны только для квадратной матрицы NxN

Верхний треугольник
C++
1
2
3
for (int i = 0; i<N-1; i++)
    for (int j = i+1; j<N; j++)
        //...do something
Нижний треугольник
C++
1
2
3
for (int i = 1; i<N; i++)
    for (int j = 0; j<i; j++)
        //...do something
0
Gr1f0nn
242 / 162 / 74
Регистрация: 30.09.2012
Сообщений: 690
03.05.2015, 21:56 #3
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
#include <iostream>
#include <cstdlib>
#include <climits>
#include <time.h>
int main()
{
    int
            N = 0,
            **matrix,
            min_above_diagonal = INT_MAX, // min над главной диагональю
            min_under_diagonal = INT_MAX; // min под главной диагональю
 
    std::cout << "Enter size of matrix (NxN): " << "\n";
    std::cin >> N;
 
    matrix = new int*[N];
    for(int i = 0 ; i < N ; ++i)
        matrix[i] = new int[N];
 
    srand(time(NULL));
    for(int i = 0 ; i < N ; ++i)
        for(int j = 0 ; j < N ; ++j)
            matrix[i][j] = rand()%15 + 1; // [1; 10]
 
    for(int i = 0 ; i < N ; ++i)
    {
        for(int j = 0 ; j < N ; ++j)
            std::cout << matrix[i][j] << " ";
        std::cout << "\n";
    }
 
    for(int i = 0 ; i < N ; ++i)
        for(int j = 0 ; j < N ; ++j)
        {
            if(i < N-1-i && min_above_diagonal > matrix[i][j]) min_above_diagonal = matrix[i][j];
            if(i > N-1-i && min_under_diagonal > matrix[i][j]) min_under_diagonal = matrix[i][j];
        }
 
 
    std::cout << "Min element above main diagonal: " << min_above_diagonal << "\n"
              << "Min element under main diagonal: " << min_under_diagonal << "\n";
 
    for(int i = 0 ; i < N ; ++i)
        delete[] matrix[i];
    delete[] matrix;
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2015, 21:56
Привет! Вот еще темы с ответами:

Найти все возможные варианты написания слова в верхнем и нижнем регистрах букв. - C++
Хотелось бы увидеть кусочек кода, который выполнял бы следующее: Есть слово &quot;Напримерэто&quot;. Как мне вывести на экран (в файл, принтер - без...

Найти три минимальных элемента в предпоследнем столбце матрицы - C++
1. Найти три минимальных элемента в предпоследнем столбце матрицы A #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

Найти максимальный элемента среди минимальных элементов строк матрицы - C++
Здравствуйте помогите написать код , пытался написать сам но ничего не получается вот: #include&lt;iostream&gt; #include&lt;locale&gt; using...

Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное произведение индексов минимальных элементов - C++
Заданы два массива - Х(10) и Y(12). Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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