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

Функция удаления последнего четного элемента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удаление строк из матрицы, очистка памяти от лишних строк http://www.cyberforum.ru/cpp-beginners/thread1013864.html
Здравствуйте, помогите с задачкой. Напишите программу по обработке массива, как объекта созданного Вами класса «Массив», согласно варианту и выполните на тестовых данных. В отчете представьте листинг программы и результатов вычислений. Операции с массивами следует реализовать программно, используя указатели, а не индексы: Дана целочисленная квадратная матрица порядка 5. Удалить из матрицы...
C++ все положительные элементы заменить на их натуральные логарифмы Нужно при помощи функции реализовать программу которая бы все положительные элементы заменить на их натуральные логарифмы. Массив 5 строк 4 столбца. Массив двухмерный. Пытаюсь сделать сам но что то не получается. Помогите очень прошу, завтра утром надо сдать. Выдает ошибки: error C2668: log: неоднозначный вызов перегруженной функции 1> c:\program files (x86)\microsoft visual... http://www.cyberforum.ru/cpp-beginners/thread1013857.html
C++ Размерность std::map
Добрый вечер. Использую тип данных 16 байтовый. Надо записать несколько десятков миллионов расчетов в map <type, type> val; C помощью методов ._Max и .max_size() узнаю, что максимальный размер - более 100 миллионов. Проблема : на 24ом миллионе программа завершает свою работу, не занеся все данные и не сделав потом еще ряд вычислений. Завершается успешно, но без последующих вычилений, то есть...
Нужно по блоксхеме написать программный код на с++ C++
C++ Числовой ряд через 3 цикла http://www.cyberforum.ru/cpp-beginners/thread1013847.html
Доброго времени суток, помогите пожалуйста с заданием. Необходимо решить через 3 цикла: for, while, do while. Зарание спасибо за помощь))
C++ Сортировка строк Я уже голову ломаю над задачей где то месяц. У меня все никак не получается сделать сортировку что бы результаты в алфавитном порядке выбивало. С числами легко, со строчками как там дела обстоят? :С #include <iostream> #include <string.h> using namespace std; struct warehouse { char *name; int number, prise, date; }; подробнее

Показать сообщение отдельно
e810nsky
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 6
21.11.2013, 01:03     Функция удаления последнего четного элемента
Ну, если еще нужно. Тут реализация с vector. Есть проверка на отсутствие в массиве четных чисел.
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
#include <iostream>
#include <vector>
 
using namespace std;
 
//Прототип функции поиска, передается ссылка на вектор.
void fDeleteEven(vector <int> &vec);
 
 
int main()
{
    //Массив нужен для инициализации вектора(вектор представляет собой аналог массива,но со встроенными функциями с которыми удобнее работать, например arr1.size() возвращает размер массива. arr1 в данном случае это вектор.
    int arr[] = {2,17,21,42,59,30,51,47};
    //Узнаем размер массива arr
    int arrSize=sizeof(arr)/sizeof(arr[0]);
    //Создаем вектор arr1, инициализируем значениями массива.
    vector <int> arr1 (arr,arr+arrSize);
    //Размер массива и вывод значений
    cout<<"Size: "<<arr1.size()<<endl;
    for (int i=0;i<arr1.size();i++)
        cout<<arr1[i]<<" ";
    cout<<endl;
    //Передаем вектор функции
    fDeleteEven(arr1);
    //Вывод новых значений
    cout<<endl<<"Size: "<<arr1.size()<<endl;
    for (int i=0;i<arr1.size();i++)
        cout<<arr1[i]<<" ";
    cout<<endl;
 
    cin.get();
    return 0;
}
//реализация функции поиска
void fDeleteEven(vector <int> &vec)
{
    //Переменная хранящая номер четного числа.
    int even=-1;
    //Поиск последнего четного элемента
    for (int i=vec.size()-1;i>=0;i--)
    {
        if(vec[i]%2==0)
        {
            even=i;
            break;
        }
    }
    //Если найден четный элемент смещаем массив, изменяем его размер.
    if (even!=-1)
    {
        for (int i=even;i<vec.size()-1;i++)
            vec[i]=vec[i+1];
        vec.resize(vec.size()-1);
        cout<<endl<<"Deleted element: "<<even+1;
    }
    //Если четный элемент не найден, выводим соотв сообщение.
    else 
        cout<<"No even numbers in array.";
 
}
 
Текущее время: 01:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru