0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 4
1

Повторяющиеся символы в строке

23.03.2013, 12:17. Показов 3554. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.

Вот как я пытался решить. Но что то не работает. Если вводить вручную по одной букве то все ок.
Ошибка в верхнем цикле, но исправить что то не получается.
Буду очень признателен если поправите.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    char mass[50];
    char* pmass(mass);
    int dlin, i(0), j(0), k(0), count(0), dlin1;
    char* pfound(nullptr);
    char part[2];
    char* ppart(part);
    char alfa[50]="qwertyuiopasdfghjklzxcvbnm";
    char* palfa(alfa);
    dlin1=strlen(alfa);
    cout << "Введите массив" << endl;
    cin.getline(mass, 50, '\n');
    dlin = strlen(mass);
    //cout << "Введите букву" << endl;
    //cin.getline(part, 2, '\n');
    for(k=0;k<dlin1;k++)
    {
        part[0]=alfa[k];
        part[1]=0;
        
    pfound=strstr(pmass, ppart);
    if(!pfound)
        break;
    pmass=pfound+1;
    for(i=0; i<dlin; i++)
    {
        pfound=strstr(pmass, ppart);
        if(!pfound)
            break;
        pmass=pfound;
        for(j=0; j<dlin; j++)
            *(pmass+j)=*(pmass+j+1);
    }
    }
    
    cout << mass << endl;
    
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2013, 12:17
Ответы с готовыми решениями:

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

Исключить повторяющиеся символы в строке
Исключит повторяющиеся символы в строке

Шаблонная функция которая в «строке» заменяет все повторяющиеся подряд символы
Помогите выполнить задачу. В произвольной «строке» заменить все повторяющиеся подряд символы....

Упорядочить символы в алфавитном порядке, при этом все повторяющиеся символы должны быть удалены и переписать новый текст в файл D
23. Задан текстовый файл С, состоящий из произвольной последовательности буквенных символов....

3
4769 / 2579 / 892
Регистрация: 29.11.2010
Сообщений: 5,581
23.03.2013, 15:06 2
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
26
27
28
29
30
31
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <cstring>
 
char *removeDuplicates(char *destination, char *source) {
  unsigned char bits[32];
  memset(bits, 0, 32);
  char *result = destination;
 
  while (*source != '\0') {
    if (!(bits[*source / 8] & (1 << (*source % 8)))) {
      *destination++ = *source;
      bits[*source / 8] = bits[*source / 8] | (1 << (*source % 8));
    }
    ++source;
  }
  *destination = '\0';
  return result;
};
 
int main(int argc, char **argv) {
  srand(time(0));
 
  char string[] = "the quick brown fox jumps over a lazy dog";
  char unduplicatedString[sizeof(string)];
  std::cout << removeDuplicates(unduplicatedString, string) << std::endl;
 
  std::cin.get();
  return 0;
}
1
-=ЮрА=-
23.03.2013, 15:22
  #3

Не по теме:

Kipish, лови Работа со строками (удаление из строки указанного символа) там три варианта удаления символов от простого к сложному

1
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 4
23.03.2013, 18:58  [ТС] 4
Спасибо.
0
23.03.2013, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2013, 18:58
Помогаю со студенческими работами здесь

Найти уникальные и повторяющиеся символы
пример: ввод символов : abcab слово: abc вывод должен быть такой: 00100 пожалуйста...

Убрать повторяющиеся символы из строки
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; using namespace std; string a;...

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

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

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

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


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

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

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