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

Даны два слова, напечатать только те символы, которые встречаются только в одном из слов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка : Попытка чтения или записи в защищенную память http://www.cyberforum.ru/cpp-beginners/thread682689.html
выходит ошибка после того как выполняется функция void poisk_cena(). Подскажите пожалуйста где ошибка. Ошибка: Необработанное исключение типа "System.AccessViolationException" произошло в...
C++ Алгоритм генерации перестановок в лексикографическом порядке У меня проблема. Нужно перебрать все лексикографически следующие перестановки. Вот мой код. Одна перестановка делается, а дальше я не знаю, как мне повторить все мои действия для этой перестановки и... http://www.cyberforum.ru/cpp-beginners/thread682668.html
C++ Нажатие клавиши программно
Здравствуйте, а сложно сделать программу: Нажатие клавиши (прописаной в самом коде) в программе (прописаной в самом кодк) с определённыи интервалом времени. т.е. просто запустить программку и она...
C++ Циклы с условием окончания
Помогите пож-ста написать код программы
C++ Оператор For и дроби http://www.cyberforum.ru/cpp-beginners/thread682642.html
Написать при помощи оператора For..... которая считает величину (см. прикрепленный файл) { int n,K; float S,a; n=StrToInt(Edit1->Text); K=1; S=0; for(K<=n;K++;) { a=1/(2*K+2.0)+1/(2*K);
C++ генерация случайных букв как можно с помощью рандома запрограммировать режим генерации случайных букв (для азбуки Морзе)? есть маленькие соображения но думаю они не верны, знаний маловато. Или это вообще делается не так? ... подробнее

Показать сообщение отдельно
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 734
30.10.2012, 07:51
алгоритм, который предложил Дивид Силва, не совсем чтобы оптимален. Вам предложили О(n^2), но можно и O(n)...
мы предположим, что строки состоят из маленьких латинских букв. (если есть еще и большие буквы Вам понадобится в два раза больше памяти, но асимптотика останется та же).
создадим массив из 26 ячеек. каждая ячейка будет подразумевать под собой букву. дальше будем отмечать, сколько раз нам встретилась данная буква.
C++
1
2
3
4
5
6
7
8
9
10
11
12
string s1, s2;
    int alp[26];
    for(int i=0; i < 26; i++)
        alp[i] = 0;
    cin >> s1 >> s2;
    for(int i=0; i < s1.length(); i++)
        alp[s1[i] - 'a']++;
    for(int i=0; i < s2.length(); i++)
        alp[s2[i] - 'a']++;
    for(int i=0; i < 26; i++)
        if(alp[i] == 1)
            cout << (char)(i + 'a') << " ";
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru