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

Как найти последний элемент в двумерном массиве и поменять его с наибольшим

03.03.2019, 14:38. Показов 3681. Ответов 4
Метки нет (Все метки)

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
#include <iostream> 
#include <malloc.h> 
using namespace std; 
 
int main(){ 
setlocale(LC_ALL, "Russian"); 
int i, n, m, j ,max,min; 
int** A; 
cout<<"Ââåäèòå N="<<endl; 
cin>>n; 
cout<<"Ââåäèòå M="<<endl; 
cin>>m; 
A=new int*[n]; 
for (i=0; i<n; i++){ 
A[i]=new int[m]; 
} 
for (i=0; i<n; i++){ 
for (j=0; j<m; j++){ 
cout<<"p["<<i<<"]["<<j<<"]-"; 
cin>>*(*(A+i)+j); 
} 
} 
 max=*(*(A+1)+1);
 for (i=0; i<n;i++)
 {
    for(j=0;j<m;j++)
    {
        if(*(*(A+i)+j)>max)
        max= *(*(A+i)+j);
     }
 }
//////////////////////////////////////
 //cout << "Max: " << max<<endl; 
return 0; 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2019, 14:38
Ответы с готовыми решениями:

В двумерном массиве найти последний четный элемент
Дан массив размером n×n, элементы которого целые числа. Для каждой строки найти последний четный...

В двумерном массиве L (M, N) первый элемент поменять с последним и найти сумму отрицательных элементов
Здравствуйте. помогите с задачей. В двумерном массиве L (M, N) первый элемент поменять с...

Найти в двумерном массиве строку с наибольшим количеством одинаковых элементов
Помогите понять как работать с двумерными массивами. Условие задания: Найти строку с наибольшим...

Как найти минимальный элемент в двумерном массиве
Помогите пожалуйста. Мне нужно найти минимальный элемент в каждом чётном столбце матрицы . Я...

4
2109 / 1196 / 496
Регистрация: 11.10.2018
Сообщений: 6,020
03.03.2019, 15:08 2
А что
C++
1
#include <malloc.h>
и new как-то связаны?
Да и тэги кода надо было поставить.
И еще забыли память освободить перед выходом.
И кракозябры убрать.

Добавлено через 11 минут
Цитата Сообщение от Alfo Посмотреть сообщение
C++
1
max=*(*(A+1)+1);
- а зачем так обращаться? Можно просто:
C++
1
A[n][m];
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.03.2019, 04:39 3
Alfo, наибольших может быть несколько. все менять ? напишите оригинал условия задачи.
0
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 6
05.03.2019, 16:35  [ТС] 4
Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с последним.(Использовать только указатели ,без [ ])
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
05.03.2019, 17:14 5
Лучший ответ Сообщение было отмечено Alfo как решение

Решение

Alfo, такой код поменяет местами первый встреченный max с последним элементом:
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 <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int N, M, max=0, imax=0, jmax=0;
    cout << "N="; cin >> N;
    cout << "M="; cin >> M;
    
      int **A = new int*[N]; 
    for (int i = 0; i < N; i++)
      A[i]=new int[M];
    
    for (int i = 0; i < N; i++)
    {
    for (int j = 0; j < M; j++)
    {
    *(*(A+i)+j)=rand()%9 + 1;
    if ((i==0 && j==0) || *(*(A+i)+j)>max) {max=*(*(A+i)+j);imax=i;jmax=j;} 
    cout << *(*(A+i)+j) << " ";
    }
    cout << "\n";
    }
    cout << "\n";
    
    swap(*(*(A+imax)+jmax),*(*(A+N-1)+M-1));
    
    for (int i = 0; i < N; i++)
    {
    {    
    for (int j = 0; j < M; j++)
    cout << *(*(A+i)+j) << " ";
    }
    cout << "\n";
    }   
 
    // освобождение памяти
    for (int i = 0; i < N; i++)
    delete[]A[i];
    delete[]A;
 
system("pause");
return 0;
}
как правильно освободить память через указатели точно не подскажу, оставил обычный вариант. если кто в курсе, напишите.
1
05.03.2019, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2019, 17:14
Помогаю со студенческими работами здесь

В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом...

В массиве из 10 чисел найти Наибольший элемент и поменять его местами с первого элементом
В массиве из 10 чисел найти Наибольший элемент и поменять его местами с первого элементом. Через...

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

В векторе поменять местами максимальный и последний элемент в массиве
Нужно в векторе поменять местами максимальный и последний элемент в массиве. Я уже написала код на...


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

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

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