Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
SadikHad
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 2
#1

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

25.10.2017, 21:35. Просмотров 260. Ответов 6
Метки нет (Все метки)

Ребята помогите
Я с помощью Memo создал строковый массив который выводится в Memo2 и генерируется по алфавиту
Нужно сделать так чтоб после генерации не было повторяющихся символов
Например: у меня выводится aaabbbccc а нужно чтобы было abc
http://www.cyberforum.ru/cpp-builder/thread262189.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2017, 21:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удаление повторяющихся символов в Memo (C++ Builder):

Удаление символов в строке Memo
Добрый день! Требуется удалить первые десять символов в каждой строке Memo....

Edit Memo Массив Добовление удаление с Memo исходя из введеных данных в Edit
Помогите реализовать такое вот задание: Есть форма на которой присутствуют...

Удаление повторяющихся записей в ComboBox
как можно сделать, есть комбобокс и некие записи, они повторяются, как...

Удаление повторяющихся пар чисел из вектора
Стоит задача: Выполнить объединение, пересечение симметрическую разность двух...

Удаление строки из Memo
Здравствуйте! задача такова: в edit вводим строку ищем таккую же в memo ...

6
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25613 / 17166 / 6826
Регистрация: 22.10.2011
Сообщений: 30,362
Записей в блоге: 6
25.10.2017, 21:52 #2
C++
1
2
3
4
5
6
7
8
#include <string>
#include <algorithm>
 
// ...
 
    std::wstring s(Memo1->Text.c_str()); // или std::string, если Билдер древний
    s.erase(std::unique(s.begin(), s.end()), s.end());
    Memo1->Text = s.c_str();
например, чтобы велосипеды не писать...
3
SadikHad
0 / 0 / 0
Регистрация: 25.10.2017
Сообщений: 2
25.10.2017, 22:04  [ТС] #3
У меня есть код, он он преобразует строку "aaaabbbbcccc", в "abbbbcccc", нужно сделать что бы каждый символ повторялся только 1 раз.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{ 
for (int i = 0; i < Memo2->Lines->Count; i++) 
{ 
int size = Memo2->Lines->Strings[i].Length(); 
char *text = new char[size + 1]; 
strcpy(text,Memo2->Lines->Strings[i].c_str()); 
std::qsort(text, size, sizeof(char), cmp_values); 
char *text1=new char[size+1]; 
for(int j=0;j<size;j++) 
{ 
int z=0; 
for(int k=0;;k++) 
{ 
if(text[k]==text[k+1])z++; 
else break; 
} 
text1[j]=text[j+z]; 
} 
Memo2->Lines->Delete(i); 
Memo2->Lines->Insert(i,text1); 
delete []text; 
} 
}
0
lifeforce
202 / 162 / 73
Регистрация: 27.09.2010
Сообщений: 976
26.10.2017, 23:31 #4
SadikHad, Самый примитивный и легкий алгоритм.
и всего в три строчки!
C++
1
2
3
4
5
6
7
8
for (int d= 1; d < Memo2->Text.Length(); d++)
      {
       if(Memo2->Text.SubString(d,1)== Memo2->Text.SubString(d+1,1))
       {
Memo2->Text = StringReplace(Memo2->Text, Memo2->Text.SubString(d,1)+Memo2->Text.SubString(d,1), Memo2->Text.SubString(d,1),TReplaceFlags());
    d--;
            }
      }
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25613 / 17166 / 6826
Регистрация: 22.10.2011
Сообщений: 30,362
Записей в блоге: 6
27.10.2017, 11:25 #5
Цитата Сообщение от lifeforce Посмотреть сообщение
Самый примитивный
Самый примитивный - вот такой:
C++
1
2
3
4
5
6
7
    for (int i = Memo2->Text.Length(); i > 1; i--)
    {
        if(Memo2->Text[i] == Memo2->Text[i - 1])
        {
            Memo2->Text = Memo2->Text.Delete(i, 1);
        }
    }
4
lifeforce
202 / 162 / 73
Регистрация: 27.09.2010
Сообщений: 976
27.10.2017, 15:29 #6
volvo,
0
gunslinger
27.10.2017, 22:53     Удаление повторяющихся символов в Memo
  #7

Не по теме:

Остается лишь добавить - volvo, я хочу от тебя детей. В хорошем смысле. И я не женщина. Наличие чувства юмора при прочтении сообщения приветствуется.

0
27.10.2017, 22:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2017, 22:53
Привет! Вот еще темы с ответами:

Удаление повторяющихся строк в txt файле, с учетом производительности (в больших файлах)
Добрый день! Помогите пожалуйста. Задача: удаление дубликатов в очень...

Удаление определенной строки из Memo
Прювэд народ!!! Подскажите как из Memo удалять строки начинающиеся с...

Удаление с формы динамически созданных Memo
Динамически создаю n-ое количество memo. Затем пытаюсь удалить их всех с формы:...

Цикл для перебора символов в Memo
Привет, можно пример или подсказать как реализовать такой функционал: Есть...


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

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

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