Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
57 / 1 / 0
Регистрация: 30.09.2013
Сообщений: 46
1

Удалить повторяющиеся символы в массиве

28.03.2014, 13:25. Показов 973. Ответов 1
Метки нет (Все метки)

Доброго времени суток форумчане!
у меня такая задачка: нужно найти и удалить все повторяющиеся элементы в массиве...
я выбрал стринговый массив, там удалить проще, но прога не пашет... подключил все библиотеки для стринга которые знал, все равно не то... в чем проблема?
вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <string.h>
#include <string>
#include <xstring>
#include <iterator>
 
int main()
{
    string h; int f;
    cin>>h;
    f=h.length();
    
    for (int i=0;i<f;i++)
    {
    if (h[i]==h[i+1]) h.erase(i,2); else if(h[i+1]==h[i+2]) h.erase(i+1,2); 
    }
    cout<<h;
system("pause");
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2014, 13:25
Ответы с готовыми решениями:

Удалить повторяющиеся символы из списка
Удалить повторяющиеся символы из списка.с помощью двусвязного списка

Найти повторяющиеся символы в массиве
Доброго времени суток! Не могли бы подсказать как решить такую задачу. Дана последовательность...

Удалить из строки все повторяющиеся символы
как удалить со строки все повторяющиеся символы???? заранее благодарен!

Удалить из символьного одномерного массива повторяющиеся символы
пожалуйста подскажите!!!! как удалить из символьного одномерного массива повторяющиеся символы?

1
Котовчанин
940 / 480 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
28.03.2014, 14:20 2
Компилятор так и написал - "Какая-то проблема" ?

Добавлено через 2 минуты
C++
1
2
3
4
for (int i=0;i<f;i++)
    {
    if (h[i]==h[i+1]) h.erase(i,2); else if(h[i+1]==h[i+2]) h.erase(i+1,2); 
    }
Где Ваша программа возьмёт h[i + 2] и h[i + 1], когда i = f - 1 ?

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
#include <string.h>
#include <string>
#include <xstring>
#include <iterator>
 
int main()
{
    string h; int f;
    cin>>h;
    f = h.length() - 1;
    
    for (int i=0; i < f - 2; ++i)
    {
        if (h[i]==h[i+1]) h.erase(i,2); else if(h[i+1]==h[i+2]) h.erase(i+1,2); 
    }
    cout<<h;
system("pause");
return 0;
}
Добавлено через 8 минут
И ещё - подключайте библиотеки без фанатизма... Здесь только две нужны.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2014, 14:20

Удалить повторяющиеся элементы в отсортированнном массиве
пример такого массива I={0,1,3,3,3,5,6,8,10,10} Т.е. я так понимаю, нужно сдигать все элементы при...

Найти в массиве повторяющиеся точки и удалить их
Задача следующая: Дан массив точек (класс Point). Найти в массиве повторяющиеся точки и удалить...

Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.
Помогите, народ! Срочно нужна программа. Собственно задание: В целочисленном массиве k(n),...

Удалить повторяющиеся символы в строке.
Есть отсортированная строка (например, aabbcceee). Нужно получить abce. Я пробовала, но в...

Удалить повторяющиеся символы из документа
Имеется последовательность символов, нужно удалить все повторяющиеся. Символы вводятся в...

Как удалить повторяющиеся элементы в массиве?
Как удалить повторяющиеся элементы в массиве? Добавлено через 49 минут я знаю что нужно сначала...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru