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

Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
tolyan1995
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 35
21.11.2013, 12:55     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #1
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 12:55     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Посмотрите здесь:

C++ Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.
удалить из массива повторяющиеся элементы, оставив только их первые вхождения. класс-контейнер вектор C++
C++ Дан целочисленный массив размера N. Удалить из массива все одина- ?ковые элементы, оставив их первые вхождения
C++ Удалить из массива все одинаковые элементы, оставив их первые вхождения
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их последние вхождения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
21.11.2013, 13:05     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #2
Чем плоха эта ветка?
Уточни условия (например, "использовать дополнительный массив нельзя") или не плоди клоны
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
21.11.2013, 13:15     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <iterator>
 
int main()
{
    srand(time(0));
    size_t SIZE;
    std::vector<int> array;
    
    std::cout << "Input size array: "; std::cin >> SIZE; std::cout << std::endl;
    
    for(int i = 0; i < SIZE; ++i)
        array.push_back(rand() % 10);
    
    std::copy(array.begin(), array.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    
    std::sort(array.begin(),array.end());
 
    
    std::copy(array.begin(), std::unique(array.begin(),array.end()),
                         std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
        system("PAUSE");
        return 0;
}
tolyan1995
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 35
21.11.2013, 13:27  [ТС]     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #4
egor2116, а можно переделать,как для чайников(просто мы еще этого не изучали, что вы использовали). и чтобы ввод массива был с клавиатуры?)))
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
21.11.2013, 13:30     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #5
а можно переделать,как для чайников
можно но минут через 10, я на работе и сейчас начинается самое интересное ОБЕД.
tolyan1995
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 35
21.11.2013, 13:42  [ТС]     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #6
egor2116, буду очень благодарен
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
21.11.2013, 14:29     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #7
Наверное как то так
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
#include <iostream>
 
int main()
{
    size_t SIZE;
    
    std::cout << "Input size array : "; std::cin >> SIZE; std::cout << std::endl;
    
    int source[SIZE];
    int result[SIZE];
    
    for(int i = 0; i < SIZE; ++i)
    {
      std::cout << "Input array element # " << i + 1 << " "; std::cin >> source[i];
    }
 
    int k = 0, count = 0;
    bool  check;
    for(int i = 1; i < SIZE; ++i)
    {
       check = false;
       for(int j = 0; j < SIZE; ++j)
           if(i != j && source[i] == source[j])
                 check = true;
       if(!check)
          {
            result[k] = source[i];
            ++k;
            ++count;
          }
    }
               
    for(int i = 0; i < SIZE - count + 1; ++i)
       std::cout << result[i] << " ";
    std::cout << std::endl;
 
        system("PAUSE");
        return 0;
}
tolyan1995
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 35
21.11.2013, 14:33  [ТС]     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #8
чё-то ошибки в циклах
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
21.11.2013, 14:35     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #9
попробуйте заменить
C++
1
 for(int i = 1; i < SIZE; ++i)
на
C++
1
 for(int i = 0; i < SIZE; ++i)
tolyan1995
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 35
21.11.2013, 18:55  [ТС]     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #10
тоже самое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 20:14     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Еще ссылки по теме:

Удалить из слова все повторяющиеся буквы, оставив их первые вхождения C++
Удалить из массива повторяющиеся элементы, оставив только их первые вхождения C++
C++ Одномерные массивы, удалить все повторяющиеся элементы, оставив только первые вхождения

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

Или воспользуйтесь поиском по форуму:
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
21.11.2013, 20:14     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #11
Найти уникальные элементы в массиве

Вот в этой теме я делал что - то похожее для двумерного массива, там только кусок этого кода нужен, только времени нету смотреть я убегаю на треню, сорь мб кто поможет
Yandex
Объявления
21.11.2013, 20:14     Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Ответ Создать тему
Опции темы

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