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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 5.00
Lizardomsk
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 22
#1

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

02.03.2012, 10:59. Просмотров 2634. Ответов 4
Метки нет (Все метки)

Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы. на С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2012, 10:59     Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
Посмотрите здесь:

C++ Преобразовать каждое слово в строке, удалив из него все последующие вхождения первой буквы
C++ Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.
удалить из массива повторяющиеся элементы, оставив только их первые вхождения. класс-контейнер вектор C++
C++ Оставить в слове первые вхождения каждой буквы
Строки: Дано предложение. Удалить из него все буквы «с» C++
C++ Строки. В каждом чётном по порядку слове удалить все нечётные буквы, а в каждом нечётном слове удалить все чётные буквы.
Преобразовать каждое слово в строке, удалив из него все вхождения первой буквы этого слова C++
Удалить из слова все повторяющиеся буквы, оставив их первые вхождения C++
C++ Оставить в слове только первые вхождения каждой буквы
Удалить из массива повторяющиеся элементы, оставив только их первые вхождения C++
C++ Одномерные массивы, удалить все повторяющиеся элементы, оставив только первые вхождения
Удалить из массива повторяющиеся элементы, оставив только их первые вхождения C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.03.2012, 11:43     Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
bool exist['z' + 1];
 
int main()
{
    char str[] = "aabbaaabc";
    
    for (int i = 0; str[i]; ++i)
        if ( !exist[ str[i] ] )
        {
            std::cout << str[i];
            exist[ str[i] ] = true;
        }
    
}
zss
Модератор
Эксперт С++
 Аватар для zss
6116 / 5719 / 1850
Регистрация: 18.12.2011
Сообщений: 14,617
Завершенные тесты: 1
02.03.2012, 11:43     Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool table[256];
for(int i=0;i<256;i++)table[i]=false;
char word[]="test word";
int L=strlen(word);
for(int i=0;i<L;i++)
{
    char currrent=word[i];
     if(!table[current])
          table[current]=true;
    else
   {
       for(int j=i;j<L-1;j++)
              word[j]=word[j+1];
       L--;
   }
}
 
}
Lizardomsk
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 22
02.03.2012, 13:32  [ТС]     Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы. #4
Что значит bool exist['z' + 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
24
25
#include "stdafx.h"
#include "stdlib.h"
#include "stdafx.h"
#include "conio.h"
#include <iostream>
#include "time.h"
#include "locale"
#include "string.h"
using namespace std;
bool exist['z' + 1];
 
int main()
{
       char string[100] = "";
          printf("Enter your string: ");
        scanf("%s", &string);
        for (int i = 0; string[i]; ++i)
                if ( !exist[ string[i] ] )
                {
                        std::cout << string[i];
                        exist[ string[i] ] = true;
                }
        system("PAUSE");
return 0;
}
 Комментарий модератора 
Создашь еще одну тему-дубль — получишь карточку
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.03.2012, 14:05     Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы. #5
Массив размером ('z' + 1), т.е. максимальный индекс этого массива равен 'z'.
На самом деле это не совсем хороший код, т.к. есть еще несколько символов больше 'z'. Поэтому можно написать 128, так будет надежнее.
Yandex
Объявления
02.03.2012, 14:05     Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
Ответ Создать тему
Опции темы

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