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

Из массива удалить четные элементы - C++

Восстановить пароль Регистрация
 
Svrap
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 5
03.11.2013, 00:10     Из массива удалить четные элементы #1
Здравствуйте. Всю жизнь программировал на Паскале и вдруг си++...помогите пожалуйста с заданием.

Написать программу на языке C++ в среде Microsoft Visual Studio 2010 C++. Исходные данные задаются путем ввода с клавиатуры. Ответ необходимо вывести на экран с описанием задания, входных и выходных данных.

Задача: Из массива удалить четные элементы, стоящие после максимального.
Пример: из массива A[5]: 2 7 4 6 5
Должен получиться A[3]: 2 7 5
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 00:10     Из массива удалить четные элементы
Посмотрите здесь:

Удалить из бинарного файла, в котором записаны целые числа все четные элементы C++
Удалить из бинарного файла, в котором записаны целые числа все четные элементы. C++
удалить из массива все четные элементы C++
Массивы. Удалить все четные элементы; Добавить К строк, начиная со строки с номером N C++
C++ Удалить из массива все четные числа
C++ Найти минимальный элемент массива и удалить четные элементы
Удалить из одномерного массива все четные элементы без изменения порядка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
beim
Сообщений: n/a
03.11.2013, 01:05     Из массива удалить четные элементы #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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream> // Заголовочный файл библиотеки стандартного потока ввода-вывода
 
// Вынесем ввод чисел с проверкой в отдельную функцию,
// где вторая переменная - нужно ли проверять на неположительность
// по умолчанию - не проверять
void GetNumber(int &Var, bool OnlyPositive = false)
{
    do  
    {
        std::cin.clear();
        std::cin.sync();
        std::cin >> Var;
        if((Var <= 0 && OnlyPositive) || std::cin.fail())  // Если не удовлетворяет условиям
            std::cout << "Invalid number" << std::endl;
        else  // Если удовлетворяет, то выход из цикла счтывания переменной
            break;
    }
    while(true);
}
 
void main()
{
    int ArrayLength = 0,     // Размерность массива
        *Array,              // Входной массив
        MaxValue = INT_MIN,  // Максимальное значение массива
        MaxValuePos;         // Позиция максимального значения в массиве
 
    std::cout << "Type array length" << std::endl;
    GetNumber(ArrayLength, true);
    
    // Выделение памяти под массивы
    Array = new int[ArrayLength];
 
    // Ввод исходного массива
    std::cout << "Type array numbers" << std::endl;
    for(int i = 0; i < ArrayLength; i++)
        GetNumber(Array[i]);
 
    // Поиск максимального числа
    for(int i = 0; i < ArrayLength; i++)
        // Тут неопределённость: что, если максимальных не одно?
        // В данном примере за максимальное будет принято последнее
        if(MaxValue <= Array[i])
        {
            MaxValue = Array[i];
            MaxValuePos = i;
        }
 
    // Вывод выходного массива
    std::cout << std::endl << "Output array: ";
    for(int i = 0; i < ArrayLength; i++)
        // Проверка условия задачи
        if((Array[i] % 2) || i <= MaxValuePos)
            std::cout << Array[i] << " ";
 
    // Освобождение памяти
    delete[] Array;
 
    // Удерживание результата на экране
    while(true) ;
}
Yandex
Объявления
03.11.2013, 01:05     Из массива удалить четные элементы
Ответ Создать тему
Опции темы

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