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

Удаление из массива повторяющихся элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм нахождения покрытия, близкого к кратчайшему http://www.cyberforum.ru/cpp-beginners/thread208789.html
Необходимо найти покрытие, близкое к кратчайшему, по методу "минимальный столбец - максимальная строка". Описание алгоритма: 1. Исходная таблица считается текущей преобразуемой таблицей покрытий, множество строк покрытий - пусто. 2. В текущей таблице выделяется столбец с наименьшим числом единиц. Среди строк, содержащих единицы в этом столбце, выделяется одна с наибольшим числом единиц. Эта...
C++ Вопрос про наследование. Добрый день всем! Возможно ли создать производный класс в который будут помещены 2 объекта базового класса с возможностью переопределения методов последнего? напрмер class a { int x; public a(int y) {x=y;} virtual int GetX() const {return x;} } http://www.cyberforum.ru/cpp-beginners/thread208784.html
C++ линейные списки, удаление последнего эллемента списка
нужно написать функцию удаления последнего эллемента списка, помогите пожалуйста #include <iostream.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> struct Elem {int data; Elem*next;}; Elem*create (int n) {Elem*pb = new Elem; pb -> data = n; pb -> next = 0; return pb;} void showlist ( Elem*pb)
C++ Из последовательности чисел выбрать элементы, делящиеся на 3
Из последовательности чисел y1, y2, ,…,yn выбрать элементы, делящиеся на 3. Подсчитать их число и вывести их порядковые номера в массиве. Подскажите примерно, как выбрать эти элементы?
C++ интеграл http://www.cyberforum.ru/cpp-beginners/thread208757.html
Всем доброго времени суток, нужно решить интеграл
C++ Оператор цикла с предусловием Используя оператор цикла с предварительным условием, вычислить сумму конечного числа слагаемых. При вычислении члена ряда использовать рекурентное соотношение. Значение x ввести с клавиатуры.http://www.cyberforum.ru/attachment.php?attachmentid=53608&d=1292095002 подробнее

Показать сообщение отдельно
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147

Удаление из массива повторяющихся элементов - C++

11.12.2010, 23:49. Просмотров 802. Ответов 6
Метки (Все метки)

Значит,задача : удалить повторы в массиве, оставив по одному вхождению!

моя идея. если 2 компонента, стоящие рядом, равны друг другу, начиная с первго делаю сдвиг в право, и удаляю последний элемен.

почему-то местами работает неверно
вот например ввожу массив:
1 1 1 1 3 5
получаю результат:
1 1 3 5
т е удаляет он ровно половину повторов(

Надеюсь на Вашу помощь)

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 <stdio.h>
#include <math.h>
void main ()
{int x[20],i,k,c,j,g=0,min,imin;
printf("Enter number of elements ");
scanf("%d",&k);
for(i=0;i<k;i++)
{printf("Enter %d element ",i+1);
scanf("%d",&x[i]);}
printf ("Dannii massiv\n");
for(i=0;i<k;i++)
printf("%d ",x[i]);printf("\n");
 
for(i=0;i<k;i++)
{for(j=i+1;j<k;j++)
if (x[j]==x[i])
{for(c=j;c<k-1;c++){x[c]=x[c+1];}k--;}}
 
 
 
 
printf("\n New massiv: \n");
for(i=0;i<k;i++)
printf("%d ",x[i]);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru