С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 08.04.2012
Сообщений: 26
1

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

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

Author24 — интернет-сервис помощи студентам
1)Найти произведение элементов, расположенных между первым и вторым нулевым элементами.
2)Удалить из массива элемент, расположенный после каждого значения, равного максимальному элементу.
3)Удалить из массива элемент, расположенный перед каждым значением, равным максимальному элементу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2013, 16:22
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 17 минут
тут 3 разные задачи)
0
Mobile Software Engineer
Эксперт С++
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
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
32 / 17 / 3
Регистрация: 05.09.2011
Сообщений: 151
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
07.03.2013, 16:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2013, 16:38
Помогаю со студенческими работами здесь

Удаление элементов вектора
Доброе. Данная программа выводит таблицу, и работает с ней. Как удалить строку в таблице? Не...

Удаление элементов из вектора
Что я делаю не так string f=&quot;/.+(STL).$1/&quot;; vector&lt;string&gt; words; words.push_back(f); ...

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru