С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
needfor5
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 26
#1

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

02.03.2013, 16:22. Просмотров 502. Ответов 7
Метки нет (Все метки)

1)Найти произведение элементов, расположенных между первым и вторым нулевым элементами.
2)Удалить из массива элемент, расположенный после каждого значения, равного максимальному элементу.
3)Удалить из массива элемент, расположенный перед каждым значением, равным максимальному элементу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 16:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив и Удаление элементов вектора (C++):

Удаление элементов вектора - C++
Я конечно понимаю, что вектор это такая штука, которая удаляется сама при выходе из функции в которой она определена. Но мне все же...

Удаление элементов из вектора - C++
С консоли вводится вектор значений double и точность, удалить и вектора элементы разность между которыми по модулю меньше точности и...

Удаление элементов вектора - C++
как вызвать деструктор? почему не удаляется объект class a { public: a() { std::cout << "c"; } ~a() { std::cout <<...

Удаление элементов вектора - C++
Дана матрица смежности, мне нужно удалить из нее вершину. Это значит, что при удалении вершины номер 3 мне нужно из матрицы удалить 3...

Удаление элементов из вектора - C++
Что я делаю не так string f="/.+(STL).$1/"; vector<string> words; words.push_back(f); vector< string >::iterator first =...

Удаление одинаковых элементов вектора - C++
Здравствуйте. Нужно удалить из вектора одинаковые элементы. Вектор состоит из стрингов и это надо делать без сортировки.

7
oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
02.03.2013, 18:53 #2
Задан ли массив? Или его формировать тебе?
0
needfor5
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 26
02.03.2013, 20:30  [ТС] #3
формировать

Добавлено через 17 минут
тут 3 разные задачи)
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 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;
}
1
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;
}
1
Tulosba
02.03.2013, 22:27
  #6

Не по теме:

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



Не по теме:

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

0
silent_1991
07.03.2013, 14:59
  #7

Не по теме:

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

Не по теме:

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

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

0
Tulosba
07.03.2013, 16:38     Массив и Удаление элементов вектора
  #8

Не по теме:

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

Не по теме:


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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2013, 16:38
Привет! Вот еще темы с ответами:

Удаление из вектора повторяющихся элементов - C++
есть вектор vector&lt;int&gt; array; я считаю в него из файла, подскажите как мне удалить одинаковые цифры, то есть если есть 10 и 10 должно...

Удаление элементов вектора со сдвигом - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; void spc(int x); class...

Удаление всех элементов вектора - C++
Как удалить все элементы вектора. Например Создаём пустой вектор vector&lt;int&gt;numb; заполняем его пятью элементами ...

Удаление одинаковых элементов из вектора <string> - C++
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;cstdio&gt; #...


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

Или воспользуйтесь поиском по форуму:
8
07.03.2013, 16:38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.