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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пачка вопросов по C++ http://www.cyberforum.ru/cpp-beginners/thread16360.html
1. Какая функция в консольном приложении для создания файла? 2. Какая функция в консольном приложении для открытия файла? 3. Как в WinApi нарисовать квадрат?
C++ Поворот матрицы вокруг главной диагонали Собственно, сама задача, я её сделал методом индексации, указатели только начали изучать, только вот не пойму как матрицу транспонировать не используя другую матрицу при помощи указателей? товарищи, подскажите пожалуйста, как это сделать, просто никак не пойму с чего начать http://www.cyberforum.ru/cpp-beginners/thread16356.html
C++ Теоретический вопрос по наследованию вложенных класов
Уважаемые, такой вопрос. Есть класс(матрёшка), внутри него другой класс создан. При наследовании матрёшки, внутренний наследуется вместе с ним целиком? Т.Е. в случае наследования, конструктор (внутреннего для производного от матрёшки) и диструктор надо будет переопределять?
Тестовые файлы: преобразовать строку, удалив из нее все четырехбуквенные слова C++
помогите пожалуйста разобраться, нужно преобразовать строку , удалив из нее все четырехбуквенные слова, подпрограмму обработки строки оформить в виде функции, использовать 2 разных файла для ввода и вывода. ввод вывод вроде изучил, не знаю как задать цыкл(или еще что-то) для поиска этого загадочного слова:) зарание спасибо
C++ Массив в С++ http://www.cyberforum.ru/cpp-beginners/thread16322.html
Ввести массив А6. Сформировать массив по формуле В6, Вi=cosi. Условие задания: В массиве А переставить местами элементы, имеющие чётные и нечётные номера (массив А1). Массив В упорядочить в порядке возрастания значений элементов (Массив В1). Найти массив С=А1+В1. Плз,кто может помогите составить блок-схему и по возможности саму программу...
C++ Поменять порядок цифр на обратный и сравнить полученное число с исходным Привет всем!!!! 1.задание Дано натуральное число n. Определить, кратна ли числу k сумма первой и последней цифры этого числа. 2.задание Дано натуральное число n. Поменять порядок цифр на обратный и сравнить полученное чис-ло с исходным. 1.задание. #include<iostream.h> int main(){int k,n; cout<<"Vvedite chislo :\n"; cin>>n; подробнее

Показать сообщение отдельно
StarWorm
17 / 16 / 4
Регистрация: 20.11.2008
Сообщений: 81
21.11.2008, 10:45     Удалить из массива все максимальные элементы
II. В одномерном массиве, элементы которого - целые числа, произвести следующие действия:
1) удалить из массива все максимальные элементы.
Вот тебе приблизительный ответ на статическом массиве!!!
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
void delMax(int* arr,int &dimension)
{
    if(dimension==0)
    {
        cout<<"Array is empty!!!\n";
        return;
    }
    else
    {
        int max=arr[0];
        for(int i=1;i<dimension;i++)
            if(arr[i]>max)
                max=arr[i];
        for(int i=0;i<dimension;i++)
            if(arr[i]==max)
            {
                if(i==(dimension-1))
                {
                    arr[i]=NULL;
                    dimension--;
                    break;
                }
                for(int j=i;j<dimension-1;j++)
                {
                    arr[j]=arr[j+1];
                }
                dimension--;
            }
    }
}
 
int main()
{
    int dimension=9;
    int arr[]={9,5,7,8,6,3,5,6,1};
    for(int i=0;i<dimension;i++)
        cout<<arr[i]<<" ";
    cout<<"\n";
    for(int j=1;j<=13;j++)
    {
        delMax(arr,dimension);
        for(int i=0;i<dimension;i++)
            cout<<arr[i]<<" ";
        cout<<"\n";
    }
    
    getch();
    return 0;
}


Добавлено через 17 минут 36 секунд
II. В одномерном массиве, элементы которого - целые числа, произвести следующие действия:
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
void insertElement(int* arr,int &dimension,int number=0)
{
    if(dimension==0)
    {
        cout<<"Array is empty!!!\n";
        return;
    }
    for(int i=0;i<dimension;i++)
        if(arr[i]%2==0 && arr[i]!=0)
        {
            for(int j=dimension;j>i;j--)
                arr[j]=arr[j-1];
            arr[i]=number;
            dimension++;
            i++;
        }
}
 
int main()
{
    int dimension=9;
    int* arr=new int[100];
    int arr1[]={9,5,7,8,6,3,5,6,8};
    for(int i=0;i<dimension;i++)
        arr[i]=arr1[i];
    for(int i=0;i<dimension;i++)
        cout<<arr[i]<<" ";
    cout<<"\n";
    for(int j=1;j<=3;j++)
    {
        insertElement(arr,dimension,7);
        for(int i=0;i<dimension;i++)
            cout<<arr[i]<<" ";
        cout<<"\n";
    }
    
    delete [] arr;
    getch();
    return 0;
}
Пожалста!!! xD Только это все сделано без постоянного выделения памяти!!!

P.S. вставлять новый элемент можно любой...


Добавлено через 1 минуту 30 секунд
Ну что... Тебе еще что то надо???
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru