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

Создать массив из различных элементов массива - C++

Восстановить пароль Регистрация
 
AlexandeRR775
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 15
16.11.2012, 08:42     Создать массив из различных элементов массива #1
Доброго времени суток. Не могу написать программу. Задание такое: Дан целочисленный массив {a1,a2...an} с количеством элементов n. Создать массив из различных элементов этого массива. Массив должен быть создан с помощью вектора(в чем заключается проблема). Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 08:42     Создать массив из различных элементов массива
Посмотрите здесь:

Создать новый массив из различных элементов исходного массива C++
C++ Создать новый массив из отрицательных элементов массива У.
C++ Создать массив из различных элементов исходного
Одномерный массив. Создать массив Х суммы среднеарифметического элементов массива А с каждым элементом массива А C++
Создать массив С какой складываться из нечетных чисел массива А, посчитать количество элементов массива С C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Illusive
17 / 17 / 0
Регистрация: 11.01.2008
Сообщений: 51
16.11.2012, 10:39     Создать массив из различных элементов массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vector>
#include <iostream>
#include <iterator>
using namespace std;
int data[12] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120}; 
int main()
{
 vector<int> V1(data, data+12); // создаем вектор V1, заполненный данными из массива 
 cout << "V1 = ";
 copy(V1.begin(), V1.end(), ostream_iterator<int>(cout, " ")); // выводим содержмое V1
 vector<int> V2(V1.rbegin()+3, V1.rbegin()+7); // делаем V2 из неск. эл-тов V1 в обратном порядке (например)
 cout << "\nResult: V2 = "; // выводим содержимое V2 
 copy(V2.begin(), V2.end(), ostream_iterator<int>(cout, " ")); // выводим содержмое V2
 cout << "\nResult: V2 = "; // а поскольку vector - это тот же массив (только динамический),
 for(int i=0; i<4; i++)   // выводим его как обычный массив
  cout << V2[i] << " ";
 return 0;
}
AlexandeRR775
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 15
16.11.2012, 15:31  [ТС]     Создать массив из различных элементов массива #3
Спасибо, но начальный массив вводится с клавиатуры, а другой должен состоять из не повторяющихся элементов начального массива.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
16.11.2012, 15:53     Создать массив из различных элементов массива #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
 
 
int main() {
   std::vector<int> vector((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
 
   std::vector<int> result(vector);
   std::sort(result.begin(), result.end());
   result.erase(std::unique(result.begin(), result.end()), result.end());
 
   std::copy(result.begin(), result.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
}
http://ideone.com/RU3oU2
Illusive
17 / 17 / 0
Регистрация: 11.01.2008
Сообщений: 51
16.11.2012, 16:15     Создать массив из различных элементов массива #5
#include <unordered_set>
#include <vector>
#include <iostream>
#include <iterator>

using namespace std;

int main()
{
vector<int> V1; // создаем вектор V1
int value =0;
// заполняем вводом с клавиатуры пока не встретится число больше 10000
while(1) // (можно и другое условие выхода из цикла придумать)
{
cin >> value;
if(value >10000) break;
V1.push_back(value); // загоняем число в вектор
};
cout << "V1 = ";
copy(V1.begin(), V1.end(), ostream_iterator<int>(cout, " ")); // выводим содержмое V1
unordered_set<int> U1(V1.begin(), V1.end()); // здесь исчезают повторяющиеся элементы
cout << "\nU1 = ";
copy(U1.begin(), U1.end(), ostream_iterator<int>(cout, " ")); // выводим содержмое U1
return 0;
}
Правда U1 не вектор, но если требуется, с помощью copy можно переписать содержимое
и в вектор
AlexandeRR775
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 15
16.11.2012, 22:13  [ТС]     Создать массив из различных элементов массива #6
Спасибо большое!
Yandex
Объявления
16.11.2012, 22:13     Создать массив из различных элементов массива
Ответ Создать тему
Опции темы

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