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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа “р” в строке и вывести строку, начиная с...

Visual C++ проверка ввода на число, проверка на кирилицу - 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
1641 / 1269 / 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
Спасибо большое! Все просто и наглядно.
Yandex
Объявления
07.05.2011, 11:39     Проверка символа на повторяемость.
Ответ Создать тему
Опции темы

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