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

Обменять элементы двух массивов местами - C++

Восстановить пароль Регистрация
 
Sedlex
6 / 6 / 1
Регистрация: 13.01.2013
Сообщений: 121
04.05.2014, 21:59     Обменять элементы двух массивов местами #1
Товарищи здравствуйте, помогите с задачей на STL Контейнер Vector.

1. Создать массив из пяти целых чисел. Инициализировать все его элементы случайным числом. Цикл не использовать.
2. Создать второй массив такого же размера. Ввести его элементы с клавиатуры.
3. Обменять элементы двух массивов местами. Цикл не использовать.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2014, 21:59     Обменять элементы двух массивов местами
Посмотрите здесь:

C++ в каждом столбце прямоугольной матрицы обменять местами min и max элементы
Общие элементы двух массивов записать в один C++
C++ Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент C++
C++ Поменять местами содержимое двух массивов
Шаблонная функция, складывающая элементы двух массивов C++
Определить максимальные элементы и поменять их местами в каждом из двух заданных массивов C++
C++ Поменять элементы двух одномерных массивов местами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
04.05.2014, 22:35     Обменять элементы двух массивов местами #2
Sedlex, как то так
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
#include <iostream>
#include <vector>
#include<random>
#include<functional>
#include<algorithm>
#include<iterator>
 
int main()
{
    std::mt19937 gen{ std::random_device()() };
    std::uniform_int_distribution<int> dis(-100, 100);
    std::vector <int> ivec(5);
    std::generate(ivec.begin(), ivec.end(), [&dis, &gen] {return dis(gen); });
    std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::vector <int> ivec_two(5);
    std::cout << "\nEnter a new vector: ";
    for (auto it = ivec_two.begin(); it != ivec_two.end(); ++it)
        std::cin >> *it;
    ivec.swap(ivec_two);
    std::cout << "\nvector 1: ";
    std::copy(ivec.begin(), ivec.end(), std::ostream_iterator <int>(std::cout, " "));
    std::cout << "\nvector 2: ";
    std::copy(ivec_two.begin(), ivec_two.end(), std::ostream_iterator <int>(std::cout, " "));
    return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.05.2014, 23:49     Обменять элементы двух массивов местами #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
#include <functional>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <random>
#include <vector>
#include <ctime>
 
int main()
{
    const size_t vectorSize = 5;
    auto randomFunction = std::bind(std::uniform_int_distribution <> (-50, 50), 
                                    std::default_random_engine (std::time(nullptr)));
    std::vector <int> firstVector(vectorSize);
    std::generate(firstVector.begin(), firstVector.end(), randomFunction); //инициализация случайными числами
 
    std::vector <int> secondVector;
    std::copy(std::istream_iterator <int> (std::cin), std::istream_iterator <int>(), std::back_inserter(secondVector)); //ввод с клавиатуры
    if (secondVector.size() > 5) {
        secondVector.erase(secondVector.begin() + 5, secondVector.end());
    }
 
    std::swap(firstVector, secondVector);
    std::cout << "First: ";
    std::copy(firstVector.begin(), firstVector.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl << "Second: ";
    std::copy(secondVector.begin(), secondVector.end(), std::ostream_iterator <int> (std::cout, " "));
 
    std::system("pause");
    return 0;
}
Yandex
Объявления
04.05.2014, 23:49     Обменять элементы двух массивов местами
Ответ Создать тему
Опции темы

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