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

Массивы. Найти максимальный элемент и поменять его с последним элементом массива - C++

Восстановить пароль Регистрация
 
784141
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 4
08.10.2013, 06:35     Массивы. Найти максимальный элемент и поменять его с последним элементом массива #1
Задан двухмерный массив целых чисел A[N,M]. Найти максимальный элемент и поменять его с последним элементом массива.
Помогайте
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 06:35     Массивы. Найти максимальный элемент и поменять его с последним элементом массива
Посмотрите здесь:

Найти максимальный элемент стека и поменять его местами с первым элементом C++
C++ Найти максимальный элемент и поменять его с первым элементом
Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним C++
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом C++
C++ Найти максимальный элемент и поменять его местами со вторым элементом массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
govorov
24 / 24 / 3
Регистрация: 25.09.2013
Сообщений: 76
08.10.2013, 08:35     Массивы. Найти максимальный элемент и поменять его с последним элементом массива #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
#include <iostream>
 
int main()
{
unsigned int n, m;
std::cin >> n;
std::cin >> m;
int **a = new int* [n], max, maxi, maxj, tmp;
for(unsigned int i = 0; i < n; i ++) {
    a[i] = new int [m];
}
 
for(unsigned int i = 0; i < n; i ++) {
    for(unsigned int j = 0; j < m; j++) {
        std::cin >> a[i][j];
    }
}
max = a[0][0];
for(unsigned  int i = 0; i < n; i ++) {
    for(unsigned  int j = 0; j < m; j++) {
        if(a[i][j] > max) {
            maxi = i;
            maxj = j;
            max = a[i][j];
        }
    }
}
tmp = a[maxi][maxj];
a[maxi][maxj] = a[n-1][m-1];
a[n-1][m-1] = tmp;
 
for(unsigned int i = 0; i < n; i ++) {
    for(unsigned int j = 0; j < m; j++) {
        std::cout << a[i][j] << " ";
    }
    std::cout << std::endl;
}
system("pause");
return 0;
}
Спрашивай, если что-то не понятно.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
08.10.2013, 08:44     Массивы. Найти максимальный элемент и поменять его с последним элементом массива #3
govorov, может проще так:
C++
1
int* ptrArray = new int [N * M];
Думаю не стоит забывать об освобождении памяти.
govorov
24 / 24 / 3
Регистрация: 25.09.2013
Сообщений: 76
08.10.2013, 19:54     Массивы. Найти максимальный элемент и поменять его с последним элементом массива #4
Спасибо, освободить память действительно нужно)

Добавлено через 5 минут
Нужно добавить перед строчкой "system("pause");":
C++
1
2
3
4
for(unsigned int i = 0; i < n; i ++) {
    delete[] a[i];
}
delete[] a;
Yandex
Объявления
08.10.2013, 19:54     Массивы. Найти максимальный элемент и поменять его с последним элементом массива
Ответ Создать тему
Опции темы

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