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

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

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

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

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

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

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

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

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

C++ проверка символа на принадлежность к буквам русского алфавита
Проверка на ввод символа C++
Проверка на ввод символа C++
2 символа s2 последние и средние 3 символа s1 - соединить C++
Проверка на ввод символа C++
C++ Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
C++ Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом -
C++ Вместо 1-го символа, нужно чтобы 2 символа считывалось!
Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке C++
Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа C++
Проверка вводимого символа C++
C++ Проверка на наличие символа '\' в строке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mishnik
 Аватар для 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
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 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
Спасибо большое! Все просто и наглядно.
Yandex
Объявления
07.05.2011, 11:39     Проверка символа на повторяемость.
Ответ Создать тему
Опции темы

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