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

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

Войти
Регистрация
Восстановить пароль
 
Sedlex
6 / 6 / 1
Регистрация: 13.01.2013
Сообщений: 121
#1

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

04.05.2014, 21:59. Просмотров 282. Ответов 2
Метки нет (Все метки)

Товарищи здравствуйте, помогите с задачей на 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++
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     Обменять элементы двух массивов местами
Ответ Создать тему
Опции темы

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