Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.11.2019
Сообщений: 1
1

Заменить максимальное значение в первой строке матрицы минимальным значением из третьей строки

19.11.2019, 22:53. Показов 1397. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать двумерный, квадратичный массив и заменить максимальное значение в первой строке с минимальным в третьей. Массив создал, значения нашел, изменил, только вот встал вопрос как вывести этот же массив толбко обработанный? Если написал код куда-то не туда - прошу прощения, моя первая тема на данном форуме.


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
#include <iostream>
using namespace std;
 
int main() {
    setlocale(0, "");
    int rows = 10;
    int cols = 10;
    int **arr = new int *[rows];
    for(int i = 0; i < cols; i++) { 
        arr[i] = new int[cols];
    }
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            arr[i][j] = rand() % 10;
        }
    }
    int max = arr[0][0];
    for(int i = 1; i < rows; i++) {
        if(max < arr[0][i]) {
            max = arr[0][i];
        }
    }
    cout << "maximum in 1 row = " << max << endl;
    int min = arr[2][0];
    for(int i = 1; i < cols; i++) {
        if(min > arr[2][i]) {
            min = arr[2][i];
        }
    }
    cout << "minimum in 3 row = " << min << endl;
    for(int i = 0; i < rows; i++) { 
        for(int j = 0; j < cols; j++) {
            cout << arr[i][j] << " " << "\t";
        }
        cout << endl;
    }
    int *p;
    *p = max;
    max = min;
    min = *p;
    for(int i = 0; i < cols; i++) {
        delete[] arr[i];
    }
    delete[] arr;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2019, 22:53
Ответы с готовыми решениями:

Найти максимальное значение в третьей строке данной матрицы
2)Дана действительная матрица размера 4x3. Найти максимальное значение в третьей строке данной...

Найти максимальное значение для первой четверти матрицы и минимальное — для третьей четверти
Сама задачка Дана целочисленная матрица mxm. Найти максимальное значение для ее первой четверти и...

Поменять местами наибольший элемент в первой строке матрицы с наименьшим элементом в третьей строке
В двумерном массив заменить местами наибольший элемент в первой строчке с наименьшим элементом в...

Найдите максимальное значение элементов матрицы и замените последний элемент каждой строки этим значением
Напишите программу формирования массива размером 5 на 5 с помощью датчика случайных чисел. Найдите...

1
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
20.11.2019, 06:50 2
Лучший ответ Сообщение было отмечено SimpleNickname как решение

Решение

Нам важны не столько значения макс. и мин. в соответствующих строках, сколько их индексы.
Также лучше выводить начальный массив и массив после обмена элементами, чтобы был виден результат работы программы.

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
#include <iostream>
using namespace std;
 
int main() {
setlocale(0, "");
int rows = 10;
int cols = 10;
int min_idx, max_idx;
int **arr = new int *[rows];
for(int i = 0; i < cols; i++) {
arr[i] = new int[cols];
}
cout << "default array:" << endl;
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
arr[i][j] = rand() % 100;
cout << arr[i][j] << "\t";
}
cout << endl;
}
int max = arr[0][0];
max_idx = 0;
for(int i = 1; i < rows; i++) {
if(max < arr[0][i]) {
max = arr[0][i];
max_idx = i;
}
}
cout << "maximum in 1 row = " << max << endl;
int min = arr[2][0];
min_idx = 0;
for(int i = 1; i < cols; i++) {
if(min > arr[2][i]) {
min = arr[2][i];
min_idx = i;
}
}
cout << "minimum in 3 row = " << min << endl;
 
// обмен элементов
int p = arr[0][max_idx];
arr[0][max_idx] = arr[2][min_idx];
arr[2][min_idx] = p;
 
cout << "changed array:" << endl;
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
cout << arr[i][j] << "\t";
}
cout << endl;
}
 
for(int i = 0; i < cols; i++) {
delete[] arr[i];
}
delete[] arr;
}
1
20.11.2019, 06:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2019, 06:50
Помогаю со студенческими работами здесь

Все элементы матрицы, кратные 2, заменить минимальным из всей матрицы значением
Все элементы матрицы кратные 2 заменить минимальным из всей матрицы значением. как это сделать? ...

Максимальное значение матрицы заменить средним арифметическим чисел строки
в матрице d максимальное значение заменить средним арифметическим чисел строки в которой...

Поменять наименьшие элементы в первой и третьей строке матрицы
В матрице A(3 строки и 4 столбца) поменятт наименьшие элементы в первой и третьей строке. Если не...

Поменять местами наименьшие элементы в первой и третьей строке матрицы
В матрице А(3-строки,4-столбца) поменять местами наименьшие элемен- ты в первой и третей строке....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru