0 / 0 / 0
Регистрация: 07.10.2017
Сообщений: 20
1

Манипуляции с двумерным массивом

10.11.2017, 23:20. Показов 895. Ответов 6

Студворк — интернет-сервис помощи студентам
Дана действительная матрица размером n * m. В каждой строке выбирается элемент с наибольшим значением, затем среди этих чисел выбирается меньшее. Указать индексы элемента с найденным значением.

Помогите пожалуйста из этого......., сделать корректно работающий код в соответствии с условием.

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
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
 
int random(int min_r, int max_r)
{
    return min_r + rand() % (max_r - min_r);
}
 
int main()
{
    srand(time(0));
    int max, min, max_r, min_r;
    const int n(5), m(5);
    int matr[n][m];
    cout << "Input max - ";
    cin >> max_r;
    cout << "Input min - ";
    cin >> min_r;
    for (int n = 0; n < 5; n++)
    {
        for (int m = 0; m < 5; m++)
        {
            matr[n][m] = min_r + rand() % (max_r - min_r);//возможность самому выбирать отрезок рандомных чисел
            cout << matr[n][m] << "\t";
        }
        cout << endl;
    }
    cout << endl;
    cout << " Max number of each row\n " << endl;
    for (int n = 0; n<5; n++)   //поиск мaксимальных чисел каждой строчки
    {
        max = matr[n][0];
        for (int m = 0; m < 5; m++)
        {
            if (matr[n][m] > max)
                max = matr[n][m];
            matr[n][0] = max;
        }
        cout << " Max num from " << n << " row " << "[" << max << "]" << endl;
 
    }
    min = matr[0][0];
    for (int n = 0; n < 5; n++)//поиск минимального числа среди максимальных чисел каждой строки
    {
        for (int m = 0; m < 5; m++)
        {
            if (max < min)
            {
                min = max;
            }
        }
    }
    cout << endl << "Min = " << min << endl;
 
    for (int n = 0; n < min; n++) {
        for (int m = 0; m < min; m++)
        {
            if (min == matr[n][m])
                cout << "Index: " << n << " " << m << endl;
        }
    }
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2017, 23:20
Ответы с готовыми решениями:

Опрос: что по-вашему можно считать двумерным динамическим массивом?
int main(void) { int (*p)(0); p = new int; p = 8; delete p; p = 0;

Создание формы с двумерным массивом через StringGrid
Добрый день! Пытаюсь создать форму с выводом массива через StringGrid, на первом же этапе где я...

Работа с двумерным массивом
Задача. Ввести целочисленный двумерный массив , вывести его. Найти k– количество чётных элементов...

Задача с двумерным массивом
Здравствуйте, помогите пожалуйста. Получить квадратную матрицу порядка n по заданному образцу: ...

6
Модератор
Эксперт по электронике
8806 / 6589 / 894
Регистрация: 14.02.2011
Сообщений: 23,171
11.11.2017, 00:41 2
Цитата Сообщение от zheniaa Посмотреть сообщение
const int n(5), m(5);
Цитата Сообщение от zheniaa Посмотреть сообщение
for (int n = 0; n < 5; n++)
ничего не смущает?
0
0 / 0 / 0
Регистрация: 07.10.2017
Сообщений: 20
11.11.2017, 10:10  [ТС] 3
ValeryS, Спасибо, исправил на
C++
1
const int n(4), m(4);
где еще нужно исправить код?
0
Заклинатель змей
611 / 508 / 213
Регистрация: 30.04.2016
Сообщений: 2,412
11.11.2017, 11:46 4
zheniaa, а надо было поменять на
C
1
for (int n = 0; n < 4; n++)
0
Модератор
Эксперт по электронике
8806 / 6589 / 894
Регистрация: 14.02.2011
Сообщений: 23,171
11.11.2017, 12:03 5
Цитата Сообщение от zheniaa Посмотреть сообщение
, Спасибо, исправил на
не это нужно исправлять
у тебя объявлены константы, зачем? где они используются?
и тут же под этим именем локальные(работающие в теле цикла) переменные, счетчики
0
0 / 0 / 0
Регистрация: 07.10.2017
Сообщений: 20
11.11.2017, 15:37  [ТС] 6
ValeryS, убрал константы, изменил условия циклов
Как найти минимальное число среди максимальных чисел каждой строки и индексы этого числа?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
min = matr[0][0];
    for (int n = 0; n < 4; n++)//поиск минимального числа среди максимальных чисел каждой строки
    {
        for (int m = 0; m < 4; m++)
        {
            if (max < min)
            {
                min = max;
            }
        }
    }
    cout << endl << "Min = " << min << endl;
 
    for (int n = 0; n < min; n++) //поиск индекса минимального числа среди максимальных чисел каждой строки
    {
        for (int m = 0; m < min; m++)
        {
            if (min == matr[n][m])
                cout << "Index: " << n << " " << m << endl;
        }
    }
И где брать информацию по этим темам(так как не нашёл необходимой статьи)?
Если это книга, то какую посоветуете?
0
Модератор
Эксперт по электронике
8806 / 6589 / 894
Регистрация: 14.02.2011
Сообщений: 23,171
11.11.2017, 17:44 7
Цитата Сообщение от zheniaa Посмотреть сообщение
Как найти минимальное число среди максимальных чисел каждой строки
завести еще один массив(одномерный) куда складывать максимальное число каждой строки, а потом икать в этом массиве минимум
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2017, 17:44
Помогаю со студенческими работами здесь

Ошибка с двумерным массивом
Выдает вот такую ошибку:&quot;37) : error C2109: для индекса требуется массив или указатель&quot; #include...

Работа с динамическим двумерным массивом
Написал код. В двумерном массиве 5х5 находится максимальное значение каждой строки и затем...

Работа с двумерным динамичессим массивом
Есть Двумерный динамичесский массив, который вводится рандомно. Нужно чтобы мы вводили 2 числа 1)...

Как работать с двумерным массивом?
Есть такой вот массив: int ary = { { 1, 2, 3, 4, 5 }, { 2, 4, 6, 8, 10 }, { 3, 6,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru