Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> класс-контейнер вектор, Дана последовательность целых чисел  
:(
    Опции темы
Анна25
Дата 18.4.2013, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 10.12.2012

Репутация: нет
Всего: нет



дана последовательность целых чисел, вставить новый элемент после всех элементов , которые заканчиваются на заданную цифру. Помогите пожалуйста, никак не могу закрыть вектора =( 
PM MAIL   Вверх
Crafty
Дата 18.4.2013, 21:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Как вариант,
Код

#include <iostream>
#include <vector>

void printVec(const std::vector<int>& ivec)
{
    for (std::vector<int>::const_iterator it = ivec.begin(); it != ivec.end(); ++it)
        std::cout << *it << ' ';
    std::cout << std::endl;
}

int main()
{
    const size_t arrSize = 10;
    int arr[arrSize] = {-5, -2, 12, 31, 44, 15, 2, 11, -10, 12};
    std::vector<int> ivec(arr, arr + arrSize);
    printVec(ivec);

    const int insNum = 5; // Число которое вставляем
    const int digit = 2; // Заданая цифра после к-рой вставляем
    for (std::vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it)
        if (abs(*it) % 10 == digit)
            it = ivec.insert(it+1, insNum);

    std::cout << "New vector :" << std::endl;
    printVec(ivec);
    return 0;
}

спрашивай если что не понятно
PM MAIL   Вверх
Анна25
Дата 18.4.2013, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 10.12.2012

Репутация: нет
Всего: нет



Глупый наверно вопрос, но "int arr[arrSize]" что означает параметр в квадратных скобках? и за что отвечает вот эта часть , можете пояснить ,если не трудно "ivec(arr, arr + arrSize)" ?
PM MAIL   Вверх
Crafty
Дата 18.4.2013, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Цитата(Анна25 @  18.4.2013,  21:34 Найти цитируемый пост)
Глупый наверно вопрос, но "int arr[arrSize]" что означает параметр в квадратных скобках? и за что отвечает вот эта часть , можете пояснить ,если не трудно "ivec(arr, arr + arrSize)" ? 

1) arrSize это константа, размера массива
2) инициализирую вектор массивом

В с++ 11 все проще

Код

#include <iostream>
#include <vector>

void printVec(const std::vector<int>& ivec)
{
    for (const int i : ivec)
        std::cout << i << ' ';
    std::cout << std::endl;
}

int main()
{
    std::vector<int> ivec {-5, -2, 12, 31, 44, 15, 2, 11, -10, 12};
    printVec(ivec);
    const int insNum = 5; // Число которое вставляем
    const int digit = 2; // Заданая цифра после к-рой вставляем
    for (auto it = ivec.begin(); it != ivec.end(); ++it)
        if (abs(*it) % 10 == digit)
            it = ivec.insert(it+1, insNum);

    std::cout << "New vector :" << std::endl;
    printVec(ivec);
    return 0;
}


PM MAIL   Вверх
Анна25
Дата 18.4.2013, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 10.12.2012

Репутация: нет
Всего: нет



вот второй вариант мне понятен полностью, спасибо большое! =) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.