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

Удалить максимальный элемент массива - C++

Восстановить пароль Регистрация
 
MODOZZ
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 10
15.11.2012, 21:23     Удалить максимальный элемент массива #1
Сформировать массив из n элементов с помощью датчика случайных чисел. Удалить максимальный элемент массива со сдвигом последующих.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 21:23     Удалить максимальный элемент массива
Посмотрите здесь:

C++ Определить, что больше: максимальный элемент массива А[10] или минимальный элемент массива В[7]
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
C++ Удалить из массива максимальный и минимальный элемент
C++ найти максимальный элемент массива x(15) . переставить местами этот максимальный элемент с индексом 4
Найти максимальный элемент массива, и удалить после него все нечетные элементы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.11.2012, 21:43     Удалить максимальный элемент массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
 
int main()
{
    std::srand(time(0));
    const int n = 10;
    std::vector<int> v(n);
    for (int& x : v) { x = rand()%91; std::cout<<x<<" "; }
    v.erase(std::max_element(v.cbegin(), v.cend()));
    std::cout<<"\nAfter arase:\n";
    for (int& x : v) std::cout<<x<<" ";
    std::cout<<std::endl;
    system("pause");
    return 0;
}
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.11.2012, 21:53     Удалить максимальный элемент массива #3
Такой вариант
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> 
#include <cstdlib> 
#include <ctime> 
 
int main() 
{   
    srand((unsigned) time(0));
    int n, max, i, j, index; 
    std::cout << "Inter n " << std::endl; 
    std::cin >> n; 
    int* array = new int[n]; 
 
    std::cout << "Primary array: ";
    for ( i = 0; i < n; i++) 
    { 
        array[i] = rand() % 50; 
        std::cout << array[i] << " "; 
    } 
    std::cout << std::endl; 
 
    max = array[0]; 
    index = 0;
    for ( i = 0; i < n; i++)  
        for ( j = 1; j < n; j++) 
            if(max < array[j])  
            {
                max = array[j];
                index = j; 
            }
 
        std::cout << "Array : ";
        
        for ( i = index; i < n - 1; i++) 
            array[i] = array[i+1]; 
 
        for ( i = 0; i < n - 1; i++) 
            std::cout << array[i] << " "; 
        std::cout << std::endl;
            
}
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
15.11.2012, 22:19     Удалить максимальный элемент массива #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
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#include <iostream>
 
int main(){
srand(time(NULL));
int const size(10); //размер массива
int const  siz_f(size+1);
int array[siz_f], empty(0);
for(int i = 0; i < size; i++){
        array[i] = rand()%10+1;
        }
int max = array[0];
int max_index(0);
for(int i = 0; i < size; i++){
        if(max < array[i]){
               max = array[i];
               max_index = i;
               }
        }
std::cout << max << std::endl;
for(int i = 0; i < size; i++){
        std::cout << array[i] << " ";
        }
getch();
for(int i = 0; i < size; i++){
                if(i = max_index){
                            for(int j = i; j < size; j++){ 
                            if(array[j] > array[j+1]){
                                        empty = array[j]; 
                                        array[j] = array[j+1]; 
                                        array[j+1] = empty; 
                                        }
                                    }
                            }
                break;
        }
std::cout << std::endl;
for(int i = 0; i < size-1; i++){
        std::cout << array[i] << " ";
        }
getch();
}
Yandex
Объявления
15.11.2012, 22:19     Удалить максимальный элемент массива
Ответ Создать тему
Опции темы

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