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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ряд Тейлора: Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread995880.html
Здравствуйте! Всю жизнь программировал на Паскале и вдруг си++...помогите пожалуйста с заданием, желательно с объяснением, ибо чайник полный.. Написать программу на языке C++ в среде Microsoft...
C++ Массив по возрастанию Написать программу, которая сортирует массив по возрастанию различными методами: пузырьковый, подсчёта и быстрая (шелла). Массив заполнить случ. числами. Вывести время выполнения алгоритма для каждой... http://www.cyberforum.ru/cpp-beginners/thread995876.html
Востановление состояния программы после завершения C++
Здорова господа!!! Пишу прогу которая работает можно сказать в фоновом режиме (непрерывно) и от нужно например при непредвиденных ситуациях таких как завис комп либо выключили свет или там...
C++ Указатели на функции
Доброго всем времени суток.Помогите разобраться с указателями на функции.Вот мой код #include <iostream> #include <stdlib.h> #include <Windows.h> using namespace std; //Прототипы функций bool...
C++ Вычислить арксинус угла в градусах http://www.cyberforum.ru/cpp-beginners/thread995865.html
x = asin(sin(y * (pi / 180))) * (180 / pi); Краткое описание: х - искомый результат (арксинус в градусах), у - угол в градусах. В качестве параметра функции asin нужно передать синус угла в...
C++ GCC returning reference to temporary Например вот так: int func2() { int input; cin >> input; return input; } int&& func1() { подробнее

Показать сообщение отдельно
beim
Сообщений: n/a
03.11.2013, 01:05
Приветствую

Допустим, так

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) ;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru