Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
automat777
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 7
1

Вывести символы латинского алфавита в обратном алфавитном порядке

01.04.2013, 16:48. Просмотров 1157. Ответов 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <cctype>
#include <iostream>
#include <stdio.h>
 
using namespace std;
class Alpha{
private:
    unsigned bin;
public:
    Alpha() {bin=0;};
    Alpha(Alpha& y) {bin=y.bin;};
    Alpha(char*);
    Alpha operator +(Alpha&);
        Alpha operator~();  
    ostream& operator << (ostream & out);
};
Alpha::Alpha(char* s){
    bin=0;
    while(*s){
        bin|=(1<<(tolower(*s)-'a'));s++;}
                }
 
Alpha Alpha::operator~(){
    Alpha d;
    d.bin = ~bin;
    return(d);
}
 
Alpha Alpha:: operator+(Alpha& y){
    Alpha z;
    z.bin=bin|y.bin;
    return(z);
}
 
ostream& Alpha::operator << (ostream& out){
    unsigned  bit=1;
    int i;
 
           for(i=0; i<26; i++){
        if((bin& bit)>0)
            out<<(char)('a'+i);
    bit=bit<<1; 
}
    return out;
}
 
int main (int argc,char* argv[]){
 
    if (argc < 3)
    return puts("Enter letters!");
    
      Alpha x(argv[1]);
    Alpha y(argv[2]);   
        Alpha z;
       z=~(x+y);
       z<<cout<<endl;
    
      return (0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 16:48
Ответы с готовыми решениями:

Вывести символы латинского алфавита (глухие буквы) на экран, в обратном алфавитном порядке
Дана произвольного размера символьная строка, которую надо заполнить в ручную...

Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в порядке, обратном к алфавитном
Привет, форумчане! Дано задание: &gt;Даны строки A и B. Если в A есть символы из...

Вывести в алфавитном порядке все уникальные символы
Доброго времени суток! Вопрос: задан массив из К символов латинского...

Символы латинского алфавита, используемые в зашифрованном слове
помогите пожалуйста на с++ Жители планеты Ф общаются с помощью натуральных...

Пользователь вводит символы, вывести все не повторяющиеся в алфавитном порядке
Здравствуйте!Я ломаю голову весь вечер.Я не могу понять в чём ошибка....

3
fjay69
87 / 87 / 17
Регистрация: 26.10.2012
Сообщений: 248
01.04.2013, 17:14 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
ostream& Alpha::operator << (ostream& out){
    unsigned  bit=1;
    int i;
 
           for(i=25; i>-1; i--)//проходим в обратном порядке!
{
        if((bin& bit)>0)
            out<<(char)('a'+i);
    bit=bit<<1; 
}
    return out;
}
0
automat777
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 7
01.04.2013, 18:17  [ТС] 3
fjay69, я так уже пробовал. Ввожу я например в командной строке символы a и b он выводит алфавит в обратном порядке, но исключает не b и a , а z и y.
0
Миниатюры
Вывести символы латинского алфавита в обратном алфавитном порядке  
automat777
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 7
01.04.2013, 22:11  [ТС] 4
так проблема решена
C++
1
2
3
4
5
6
7
8
9
10
11
12
ostream& Alpha::operator « (ostream& out){
unsigned bit=33554432;
int i;
 
for(i=25; i>=0; i--){
if((bin& bit)>0)
out«(char)('z'-25+i);
bit=bit»1; 
//printf("%d\n",bit);
}
return out;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 22:11

Предложение содержит буквы латинского и русского алфавитов. Вывести буквы только латинского алфавита
Предложение содержит буквы латинского и русского алфавитов. Написать программу,...

Вывести на экран в алфавитном порядке символы, встречающиеся в массиве один раз
Дан массив символов английского алфавита. Вывести на экран в алфавитном порядке...

Вывести строку, содержащую те же символы, но расположенные в обратном порядке.
Ввод и вывод строк осуществлять, используя функции gets и puts. При...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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