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

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

Войти
Регистрация
Восстановить пароль
 
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
#1

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

11.12.2010, 23:49. Просмотров 805. Ответов 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]);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 23:49     Удаление из массива повторяющихся элементов
Посмотрите здесь:
C++ Сохранение строки в массив и удаление повторяющихся элементов массива
Нужно сделать так, что бы строка занасилась в массив без повтора элементов.(к примеру строка: &quot;Травка зеленеет,...
C++ Удаление повторяющихся символов массива
Надо сделать так что бы повторяющиеся символы массива удалялись, а сам массив сдвигался.
C++ Удаление повторяющихся чисел из массива
допустим есть массив a={1,1,1,1,54,84,63,554,54,85,32,84,1,2,6,85} нужно в массиве оставить все числа по одному...
C++ Удаление повторяющихся элементов из списка
Всем привет! Прошу помощи, надо написать функцию удаления всех повторяющихся элементов из списка. Например надо...
Удаление повторяющихся элементов в векторе C++
Нужно перегрузить унарный оператор ~ что бы он удалял повторяющиеся элементы в векторе vector&amp; operator ~ () { ...
Удаление из вектора повторяющихся элементов C++
есть вектор vector&lt;int&gt; array; я считаю в него из файла, подскажите как мне удалить одинаковые цифры, то есть если...
Удаление повторяющихся элементов в односвязном списке C++
Добрый день! Задание такое: построить линейный список из нескольких динамических переменных, содержащих вводимые...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.12.2010, 07:01     Удаление из массива повторяющихся элементов #2
[C]{for(c=j;c<k-1;c++){x
C
1
=x[c+1];}k--;}}
заменить на:
[C]{for(c=j;c<k-1;c++){x
C
1
=x[c+1];}k--;i--;}}
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
12.12.2010, 12:56  [ТС]     Удаление из массива повторяющихся элементов #3
Не помогло((((
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.12.2010, 14:28     Удаление из массива повторяющихся элементов #4
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;
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--;i--;}}
 
 
 
 
printf("\n New massiv: \n");
for(i=0;i<k;i++)
printf("%d ",x[i]);
}
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
12.12.2010, 14:57  [ТС]     Удаление из массива повторяющихся элементов #5
Неа, все равно работает неправильно.
Сейчас ввела : 1 1 1 1 5 7
Результат: 1 1 5 7
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.12.2010, 16:27     Удаление из массива повторяющихся элементов #6
Цитата Сообщение от enotik Посмотреть сообщение
Неа, все равно работает неправильно.
Сейчас ввела : 1 1 1 1 5 7
Результат: 1 1 5 7
Чудеса да и только.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 19:09     Удаление из массива повторяющихся элементов
Еще ссылки по теме:
C++ Удаление из строки повторяющихся элементов (через функцию)
Добрый день! #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; //Удаление повторяющихся...
Сравнение двух векторов <string>, удаление повторяющихся элементов C++
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include...
Найти число повторяющихся элементов массива C++
Здравствуйте, уважаемые знатоки IT-программировании! Помогите мне решить эту задачу: &quot;Дан массив А(20). Нужно найти...
C++ Вывод не повторяющихся в массиве В, элементов массива А
Доброго времени суток.Помогите пожалуйста с задачкой. Ввести массивы А и В. В массив С скопировать те элементы...
C++ Подсчитать число повторяющихся отрицательных элементов массива A[n]
1.Подсчитать число повторяющихся отрицательных элементов массива A. 2.Вычислить разность наибольшего и наименьшего...

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

Или воспользуйтесь поиском по форуму:
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
12.12.2010, 19:09  [ТС]     Удаление из массива повторяющихся элементов #7
что же делать...( как. вообще ничего не понятно(((
Yandex
Объявления
12.12.2010, 19:09     Удаление из массива повторяющихся элементов
Ответ Создать тему
Опции темы

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