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

Массив и Удаление элементов вектора - C++

Восстановить пароль Регистрация
 
needfor5
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 26
02.03.2013, 16:22     Массив и Удаление элементов вектора #1
1)Найти произведение элементов, расположенных между первым и вторым нулевым элементами.
2)Удалить из массива элемент, расположенный после каждого значения, равного максимальному элементу.
3)Удалить из массива элемент, расположенный перед каждым значением, равным максимальному элементу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
02.03.2013, 18:53     Массив и Удаление элементов вектора #2
Задан ли массив? Или его формировать тебе?
needfor5
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 26
02.03.2013, 20:30  [ТС]     Массив и Удаление элементов вектора #3
формировать

Добавлено через 17 минут
тут 3 разные задачи)
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
02.03.2013, 20:52     Массив и Удаление элементов вектора #4
Цитата Сообщение от needfor5 Посмотреть сообщение
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
#include <algorithm>
#include <iterator>
#include <iostream>
#include <vector>
 
int main ()
{
    std::vector <int> vector;
    int vectorSize;
    std::cout << "Enter the size of vector: ";
    std::cin >> vectorSize;
 
    int element;
    std::cout << "Input " << vectorSize << " elements: " << std::endl;
    for (int i = 0; i < vectorSize; ++i) {
        std::cin >> element;
        vector.push_back(element);
    }
 
    int zeroCount = 0;
    for (auto itr: vector)
        zeroCount += (!itr) ? 1 : 0;
 
    if (zeroCount >= 2) {
        int mult = 1;
        int fIndex = std::distance(vector.begin(), std::find(vector.begin(), vector.end(), 0));
        for (auto itr = vector.begin() + fIndex; itr != vector.end(); ++itr)
            if (*itr)
                mult *= *itr;
        std::cout << "Mult: " << mult << std::endl;
    } else {
        std::cout << "Not 2 zero elements in the vector!";
    }
 
    return 0;
}
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
02.03.2013, 22:21     Массив и Удаление элементов вектора #5
Для 2-ой и 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <vector>
#include <iostream>
#include <locale.h>
 
using namespace std;
 
 
 
int main()
{
    vector <int> A;
    int max =0;
    int ww =0;
 
    while (cin >> ww)
    {
        A.push_back(ww);
    }
 
    max = A[0]; // Пусть максимальный элемент это первый элемент вектора (массива).
 
    
    for (unsigned int i = 0; i < A.size(); ++i)
    {
        if (A[i] > max) // Инициализируем новое значение максимум; ищем его в массиве.
        {
            max = A[i];
            A[i] = max;
        }// end_if
 
    }// end_for
    
 
    for (unsigned int i = 0; i < A.size(); ++i)
    {
 
        if (A[i] == max) // Здесь с помощью erase() удаляем элемент след. после максимального.
        {
            A.erase(A.begin()+i+1); //Тот же код для 3-ей задачи только меняешь на -1 (до максимального элемента).
            A.size() == A.size();
        }// end_if
 
    }// end_for
 
 
    for (unsigned int i = 0; i < A.size(); ++i) // Выводим содержимое массива
    {
        cout << A[i] << ' ';
    }// end_for
 
cout << endl;
system("pause");
 
return 0;
}
Tulosba
02.03.2013, 22:27
  #6

Не по теме:

Цитата Сообщение от EvGeN Посмотреть сообщение
for (auto itr: vector)
Интересно, на лабах уже принимают C++11?



Не по теме:

EvGeN, Ваш ник в теги как правильно обрамлять?

silent_1991
07.03.2013, 14:59
  #7

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:

Интересно, на лабах уже принимают C++11?

А почему бы и нет? Я полтора года назад сдавал. Если препод нормальный, он не станет ныть, что там стандарт новый, которого он не знает, а сам спросит, что значит та или иная конструкция, попытается расширить свой кругозор. У меня так и было.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2013, 16:38     Массив и Удаление элементов вектора
Еще ссылки по теме:

C++ Удаление элементов вектора со сдвигом
C++ Удаление элементов из вектора
Удаление из вектора повторяющихся элементов C++

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

Или воспользуйтесь поиском по форуму:
Tulosba
07.03.2013, 16:38     Массив и Удаление элементов вектора
  #8

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение

Не по теме:


А почему бы и нет? Я полтора года назад сдавал. Если препод нормальный, он не станет ныть, что там стандарт новый, которого он не знает, а сам спросит, что значит та или иная конструкция, попытается расширить свой кругозор. У меня так и было.

Ну да, многое зависит от препода

Yandex
Объявления
07.03.2013, 16:38     Массив и Удаление элементов вектора
Ответ Создать тему
Опции темы

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