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

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

Войти
Регистрация
Восстановить пароль
 
Mari_ly
3 / 3 / 0
Регистрация: 13.02.2016
Сообщений: 156
#1

Удалить наибольший элемент массива - C++

25.04.2016, 00:44. Просмотров 201. Ответов 4
Метки нет (Все метки)

Помогите удалить наибольший элемент массива. Помогите!!!
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
#include <iostream>
#include <cstdlib>// Для rand
#include <iomanip>// Для setw
#include <ctime> //Для time
#include<conio.h>
 
using namespace std;
const int m = 5;
const int n = 5;
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
 
    int mas[m][n], *p;
 
    for (int i = 0; i < m; i++){
        p = mas[i];
 
        for (int j = 0; j < n; j++){
            *(p + j) = rand() % 101;
            cout << setw(6) << *(p + j) << " ";
        }
        cout << '\n';
    }
 
    int  Max, s, t;
 
    for (int i = 0; i < m; i++){
 
        p = *(mas + i);
 
        Max = *p;
       
 
        for (int j = 0; j < n; j++){
            if (*(p + j) > Max)
               Max = *(p + j);
 
          
        }
 
      
           cout << "\nНаибольший элемент в строке : " << Max;
 
        for (int b = 0; b < n; b++){
            if (*(p + b) == Max){
                s = *(p + b);
                *(p + b) = *(p + 0);
                *(p + 0) = s;
            }
        }
 
        
            }
 
 
    _getch();
    return 0;
}
Добавлено через 4 часа 21 минуту
Помогите!! Ничего не получается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2016, 00:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить наибольший элемент массива (C++):

Найти в каждой строке наибольший элемент и удалить строку с наименьшим элементом - C++
В каждой строке найти наибольший элемент. Из этих элементов найти наименьший и удалить ту строку, которой он принадлежит.

Заменить все элементы массива, находящиеся в интервале (L, R), на наибольший элемент массива - C++
заменить все элементы массива , находящиеся в интервале (L,R), на наибольший элемент массива

Удалить из матрицы строку и столбец, на пересечении которых расположен наибольший по модулю элемент - C++
Из матрицы размером NxM получить матрицу размером (N-1)x(M-1) путем удаления из исходной матрицы строки и столбца, на пересечении которых...

Что-то не хочет пахать :( | Даны два целочисленных массива К(m) и L(n). Найти наибольший элемент массива K, не имеющий себе равных в массиве L. - C++
Даны два целочисленных массива К(m) и L(n). Найти наибольший элемент массива K, не имеющий себе равных в массиве L. #include...

Найти наибольший элемент массива - C++
Данный целочисленный массив В. Найти наибольший элемент массива.

Наибольший и наименьший элемент массива - C++
Здрасьте. Написал часть программы для создания массива, но никак не могу додумать, как составить часть того, чтобы вычислить наибольший и...

4
Соловьёв_Егор
58 / 58 / 38
Регистрация: 17.02.2013
Сообщений: 242
25.04.2016, 08:35 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
А массив должен быть не одномерным?

Добавлено через 26 минут
Удаляет наибольший элемент в каждой строке матрицы.
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
#include <iostream>
#include <cstdlib>// Для rand
#include <iomanip>// Для setw
#include <ctime> //Для time
#include <locale.h>
#include <limits.h>
 
using namespace std;
 
int main(){
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
 
    int **mas, n, m, maximum=INT_MIN, maxIndex, temp;
 
    cout<<"Введите размер матрицы: ";
    cin>>n>>m;
 
    mas=(int**)malloc(n*sizeof(int*));
 
    for(int i = 0; i < n; i++){
        mas[i]=(int*)malloc(m*sizeof(int));
        for(int j = 0; j < m; j++){
            mas[i][j] = rand() % 101;
            cout << setw(6) << mas[i][j];
        }
        cout << '\n';
    }
 
    temp=m-1;;
 
    for(int i = 0; i < n; i++){
        maximum=INT_MIN;
        for(int j = 0; j < m; j++){
            if(max(maximum, mas[i][j])==mas[i][j]){
                maximum=mas[i][j];
                maxIndex=j;
            }
        }
 
        cout << "\nНаибольший элемент в строке :" << maximum<<"\n";
 
        for (int j = maxIndex; j<m-1; j++){
            mas[i][j]=mas[i][j+1];
        }
        mas[i]=(int*)realloc(mas[i], (m-1)*sizeof(int));
 
        for(int j=0; j<(m-1); j++){
            cout << setw(6) << mas[i][j];
        }
 
        cout<<"\n";
    }
 
    for(int i=0; i<n; i++){
        free(mas[i]);
    }
    free(mas);
 
    system("PAUSE");
 
    return 0;
}
1
Mari_ly
3 / 3 / 0
Регистрация: 13.02.2016
Сообщений: 156
25.04.2016, 20:46  [ТС] #3
Мне нужно удалить строку в которой находиться самый большой элемент.
В общем задание звучит так:
В каждой строке найти наибольший элемент. Из этих элементов найти наименьший и удалить ту строку, которой он принадлежит.
0
Соловьёв_Егор
58 / 58 / 38
Регистрация: 17.02.2013
Сообщений: 242
25.04.2016, 21:09 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <cstdlib>// Для rand
#include <iomanip>// Для setw
#include <ctime> //Для time
#include <locale.h>
#include <limits.h>
 
using namespace std;
 
int main(){
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
 
    int **mas, n, m, maximum=INT_MIN, minimum=INT_MAX, maxIndex, minRow;
 
    cout<<"Введите размер матрицы: ";
    cin>>n>>m;
 
    mas=(int**)malloc(n*sizeof(int*));
 
    for(int i = 0; i < n; i++){
        mas[i]=(int*)malloc(m*sizeof(int));
        for(int j = 0; j < m; j++){
            mas[i][j] = rand() % 101;
            cout << setw(6) << mas[i][j];
        }
        cout << '\n';
    }
 
    for(int i = 0; i < n; i++){
        maximum=INT_MIN;
        for(int j = 0; j < m; j++){
            if(max(maximum, mas[i][j])==mas[i][j]){
                maximum=mas[i][j];
                maxIndex=j;
            }
        }
 
        cout << "\nНаибольший элемент в строке :" << maximum<<"\n";
 
        if(maximum<minimum){
            minimum=maximum;
            minRow=i;
        }
    }
 
    cout << "\nНаименьший элемент из наибольших :" << minimum<<" находится в "<<minRow<<" строке.\n";
 
    for(int i = minRow+1; i < n; i++){
        for(int j = 0; j < m; j++){
            mas[i-1][j]=mas[i][j];
        }
    }
 
    n--;
 
    mas=(int**)realloc(mas, n*sizeof(int*));
 
    cout<<"Результирующая матрица:\n";
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            cout << setw(6) << mas[i][j];
        }
        cout << '\n';
    }
 
    for(int i=0; i<n; i++){
        free(mas[i]);
    }
    free(mas);
 
    system("PAUSE");
 
    return 0;
}
1
Mari_ly
3 / 3 / 0
Регистрация: 13.02.2016
Сообщений: 156
25.04.2016, 21:21  [ТС] #5
Спасибо большое!!!
0
25.04.2016, 21:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2016, 21:21
Привет! Вот еще темы с ответами:

Определить наибольший элемент массива - C++
Создать массив из 13 случайных целых чисел из отрезка . Вывести массив на экран. Определить и вывести на экран на отдельной строке...

Найти наибольший элемент массива - C++
Дан целочисленный массив В. Найти наибольший элемент массива и сообщить его расположение относительно левой диагонали.

Найти наибольший элемент массива - C++
3. Найти наибольший элемент массива

Найти наибольший элемент массива - C++
Помогите пожалуйста решить задачу Заранее благодарю


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

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

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