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

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

Войти
Регистрация
Восстановить пароль
 
D&B
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 3
#1

Проверка символа на повторяемость. - C++

07.05.2011, 03:56. Просмотров 809. Ответов 3
Метки нет (Все метки)

Всем здравствуйте!
При разработке программы столкнулся с проблемкой.

Задача:
На входе имеется массив символов, например, mamamilaramu.
На выходе нужно получить массив символов из которых состоит прошлая строчка, т.е.: mailru (без повторений)

Не могу сообразить алгоритм этого действия.
Может кто-нибуть подскажет как это реализовать? А если кто-то еще и клочек программки выложит, буду вообще бескрайне благодарен. =)
Заранее спасибо!

P.S. Понимаю что задачка довольно примитивная и прошу не смеяться слишком громко. =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2011, 03:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка символа на повторяемость. (C++):

Проверка вводимого символа - C++
Привет.Помогите,надо сделать так ,чтобы в консольной программе при вводе цифр,вместо букв,выдавало ошибку

Проверка на ввод символа - C++
Предположим вместо числа был введен символ, тогда после ввода символа пропускается вторая строчка cin>>b; и далее заного перезапускается...

Проверка на ввод символа - C++
Пользователь вводит несколько строк (имя, фамилия и тд). Не могу сообразить как реализовать проверку, на то что бы вводимые символы не...

Проверка на ввод символа - C++
При вводе какого либо символа программа уходит в прострацию надо что бы программ распазновала что это символ и выводила error int main() ...

Проверка на наличие символа '\' в строке - C++
VS2015 if (a == '\').... и начинается веселье... почему попытка проверить что символ является '\' выдается ошибка?

Проверка символа перед занесением в буфер - C++
Можно ли как то проверять символ на принадлежность к буквам перед заносом его в буфер?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mishnik
14 / 14 / 1
Регистрация: 07.05.2011
Сообщений: 42
07.05.2011, 04:24 #2
Несколько способов.
Можно, например, хранить булев массив меток(на каждый символ алфавита 1 метка).

Реализуется просто.

Добавлено через 14 минут
Код примитивный (в 3 часа ночи думается плохо), работает с маленькими латинскими буквами, легко доработать и расширить алфавит.
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
#include <stdio.h>
 
int main() {
    char cInText[100];
    char cOutText[28];
    scanf("%s", cInText);
 
    short int labl[27];
    for (int i = 0; i<27; i++)
        labl[i] = 0;
 
    int i = 0;
    int j = 0;
    while (cInText[i] != '\0'){
        if (!labl[int(cInText[i] - 'a')]){
            cOutText[j] = cInText[i];
            labl[int(cInText[i] - 'a')] = 1;
            j++;
        }
        i++;
    }
    cOutText[j] = '\0';
 
    printf("\n\r%s", cOutText);
 
    return 1;
}
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
07.05.2011, 07:49 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <string.h>
 
int main(){
    char *szIn="mamamilaramu", szOut[100]={'\0'}, *a=szIn, *b=szOut;
    for(; *a; ++a){
        if(!strchr(szOut, *a)){
            *b++=*a;
        }
    }
    puts(szOut);
    return 0;
}
D&B
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 3
07.05.2011, 11:39  [ТС] #4
Спасибо большое! Все просто и наглядно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2011, 11:39
Привет! Вот еще темы с ответами:

Проверка символа на принадлежность к буквам русского алфавита - C++
Дан символ. Проверить: является ли данный символ гласной буквой русского алфавита(независимо от регистра). Объясните, пожалуйста, как...

Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа - C++
Добрый вечер. Ответ искал, но не нашёл. Предположим, есть строка: ABC|DEF Надо скопировать всё до | , т.е., в приведённом...

Вместо 1-го символа, нужно чтобы 2 символа считывалось! - C++
#include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { char str; char c; char *word; const char delim = &quot;...

2 символа s2 последние и средние 3 символа s1 - соединить - C++
Помогите пожалуйста! Ввести строки s1 и s2. Последние 2 символа s2 и средние 3 символа s1 - соединить. В полученной строке посчитать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.05.2011, 11:39
Ответ Создать тему
Опции темы

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