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

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

Войти
Регистрация
Восстановить пароль
 
automat777
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 6
#1

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

01.04.2013, 16:48. Просмотров 997. Ответов 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);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 16:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести символы латинского алфавита в обратном алфавитном порядке (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fjay69
85 / 85 / 1
Регистрация: 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;
}
automat777
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 6
01.04.2013, 18:17  [ТС] #3
fjay69, я так уже пробовал. Ввожу я например в командной строке символы a и b он выводит алфавит в обратном порядке, но исключает не b и a , а z и y.
Миниатюры
Вывести символы латинского алфавита в обратном алфавитном порядке  
automat777
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 6
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 22:11
Привет! Вот еще темы с ответами:

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

Удалить из строки все символы не являющиеся буквами латинского алфавита - C++
Ввести символьную строку. Удалить из строки все символы не являющиеся буквами латинского алфавита. Новых строк не создавать. Строку до и...

Вывести на экран в алфавитном порядке все символы которые входят в массив по одному разу - C++
Срочно нужна программа... Вот условие... Задан массив из k символов латинского алфавита. Вывести на экран в алфавитном порядке все...

Вывести на экран в алфавитном порядке все символы, которые входят в заданный массив по одному разу - C++
Задан массив из k символов латинского алфавита. Вывести на экран в алфавитном порядке все символы, которые входят в этот массив по...


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

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

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