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

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

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

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

11.12.2010, 23:49. Просмотров 778. Ответов 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++ Удаление повторяющихся чисел из массива
C++ Удаление повторяющихся элементов из списка
C++ Вывод не повторяющихся в массиве В, элементов массива А
C++ Найти максимальный из повторяющихся элементов двумерного массива
C++ Удаление из строки повторяющихся элементов (через функцию)
C++ Удаление повторяющихся символов массива
C++ Сохранение строки в массив и удаление повторяющихся элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 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++
 Аватар для valeriikozlov
4661 / 2487 / 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++
 Аватар для valeriikozlov
4661 / 2487 / 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++
Удаление из вектора повторяющихся элементов C++
Найти число повторяющихся элементов массива C++
Удаление повторяющихся элементов в односвязном списке C++
Сравнение двух векторов <string>, удаление повторяющихся элементов C++

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

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

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