Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
#1

Напечатать в алфавитном порядке буквы - C++

13.04.2012, 20:10. Просмотров 956. Ответов 18
Метки нет (Все метки)

Всем привет.Помогитеюу меня есть текст и мне надо напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу.
Я сделал её пузырьковым методом,но как мне убрать дубликаты?
http://www.cyberforum.ru/cpp-beginners/thread1528724.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2012, 20:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Напечатать в алфавитном порядке буквы (C++):

Напечатать в алфавитном порядке все буквы входящие в текст
Будьте добры :C Задан текст из латинских строчных букв, за которым следует...

Напечатать в алфавитном порядке все глухие согласные буквы
Дан текст на русском языке. Напечатать в алфавитном порядке все глухие...

Напечатать в алфавитном порядке все согласные буквы, входящие в текст.
8.2.2. Помогите, пожалуйста, решить задачу в С++. Напечатать в алфавитном...

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

Напечатать в алфавитном порядке все слова, которые начинаются с большой буквы
Напечатать в алфавитном порядке все слова, которые начинаются с большой буквы и...

18
antoha398
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
13.04.2012, 20:16 #2
Цитата Сообщение от Артём12 Посмотреть сообщение
Всем привет.Помогитеюу меня есть текст и мне надо напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу.
Я сделал её пузырьковым методом,но как мне убрать дубликаты?
вы бы сначала нашли неповторяющиеся буквы,а потом уже сортировали их.
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:17  [ТС] #3
Цитата Сообщение от antoha398 Посмотреть сообщение
вы бы сначала нашли неповторяющиеся буквы,а потом уже сортировали их.
а с повторяющимися что делать?
0
antoha398
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
13.04.2012, 20:23 #4
Цитата Сообщение от Артём12 Посмотреть сообщение
а с повторяющимися что делать?
неповторящиеся заносите в другой массив и его сортируете.
0
Бендер
9 / 9 / 2
Регистрация: 13.04.2012
Сообщений: 19
13.04.2012, 20:23 #5
1. Заведите массив для хранения не повторяющихся символов.
2. Пробегайте в цикле по тексту и проверяйте наличие очередного символа в массиве, если его нет - записывайте, если есть не записывайте символ в массив.
3. Отсортируйте массив.
В результате вы получите отсортированный массив с не повторяющимися символами.
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 20:27 #6
Автор, всё ещё проще)).......тема ещё актуальна??
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:32  [ТС] #7
Цитата Сообщение от main.c Посмотреть сообщение
Автор, всё ещё проще)).......тема ещё актуальна??
да,конечно)
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 20:45 #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
 
#define SIZE 100
 
void main()
{
    char s1[SIZE];
    int i,j;
    scanf("%s",s1);
    for(i='A';i<('z'+1);i++)
    {
        j=0;
        while(s1[j]!='\0')
        {
            if (s1[j]==96) continue;
            if (s1[j]==i) printf("%c",s1[j]);
                        j++;
        }
    }
}
Если требуются объяснения обращайся)......я не тестировал, написал на скорую руку, должно работать, проверь и отпишись)

Добавлено через 3 минуты
Так, я уже нашёл парочку ошибок, сейчас исправлю)
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:47  [ТС] #9
так-то мне всё понятно)но он дубликаты не удаляет,у меня как раз в этом вопрос был,как их убрать-то?)ну у тебя она проще,я пузырьковым делаю...
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 20:53 #10
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
#include<stdio.h>
 
#define SIZE 100
 
void main()
{
    char s1[SIZE];
    int i,j;
    scanf("%s",s1);
    for(i='A';i<('z'+1);i++)
    {
        j=-1;
        while(s1[j]!='\0')
        {
            j++;
            if (s1[j]==96) continue;
            if (s1[j]==i) 
            {
                printf("%c",s1[j]);
                break;
            }
        }
    }
}
Усё, готово))
Работает, но мне в некотором месте самому не нравится
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:56  [ТС] #11
слуушай,а он у меня вообще ничего не выводить((
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 20:58 #12
Вот теперь лучше)
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
#include<stdio.h>
 
#define SIZE 100
 
void main()
{
    char s1[SIZE];
    int i,j;
    scanf("%s",s1);
    for(i='A';i<('z'+1);i++)
    {
        j=-1;
        do
        {
            j++;
            if (s1[j]==96) continue;
            if (s1[j]==i) 
            {
                printf("%c",s1[j]);
                break;
            }
        }
        while(s1[j]!='\0');
    }
}
В той я проверял -1 элемент, что не есть хорошо.

Добавлено через 1 минуту
А какой язык тебе нужен, потому что я написал обработку англо-язычной строки.
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:02  [ТС] #13
Цитата Сообщение от main.c Посмотреть сообщение
Вот теперь лучше)
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
#include<stdio.h>
 
#define SIZE 100
 
void main()
{
    char s1[SIZE];
    int i,j;
    scanf("%s",s1);
    for(i='A';i<('z'+1);i++)
    {
        j=-1;
        do
        {
            j++;
            if (s1[j]==96) continue;
            if (s1[j]==i) 
            {
                printf("%c",s1[j]);
                break;
            }
        }
        while(s1[j]!='\0');
    }
}
В той я проверял -1 элемент, что не есть хорошо.

Добавлено через 1 минуту
А какой язык тебе нужен, потому что я написал обработку англо-язычной строки.
да,для англо-язычной

Добавлено через 2 минуты
Цитата Сообщение от Артём12 Посмотреть сообщение
да,для англо-язычной
вооо,всё работает,спасибо большое помог)а я только начию программировать,объяни пжл,как работает continue и где он сортирует?
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 21:02 #14
У меня всё работает.Проверь точнее.
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:03  [ТС] #15
Цитата Сообщение от main.c Посмотреть сообщение
У меня всё работает.Проверь точнее.
да да,всё работает,читай предыдущее
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 21:07 #16
1. Continue пропускает 1 итерацию и переходит к следующей.
2. Во время проверки мы проверяем в алфавитном порядке, в таком же порядке и выводит.
Хотя в данном случае, будет в алфавитном только если буквы будут либо все строчные, либо все прописные.
В принципе можно доработать, чтоб работало в обоих случаях.
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:10  [ТС] #17
Цитата Сообщение от main.c Посмотреть сообщение
1. Continue пропускает 1 итерацию и переходит к следующей.
2. Во время проверки мы проверяем в алфавитном порядке, в таком же порядке и выводит.
Хотя в данном случае, будет в алфавитном только если буквы будут либо все строчные, либо все прописные.
В принципе можно доработать, чтоб работало в обоих случаях.
ага,понятно,а 96 зачем ?

Добавлено через 19 секунд
а как ещё сделать чтоб с заглявными работал?
0
main.c
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 241
13.04.2012, 21:22 #18
Потому что в таблице ASCII под номером 96 не буква там вот такой знак: `
А насчёт заглавных попробуй теперь сам, если не получится, то я может напишу, а пока сам пробуй.
0
Артём12
0 / 0 / 2
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:44  [ТС] #19
да хорошо,спасибо)
0
13.04.2012, 21:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2012, 21:44
Привет! Вот еще темы с решениями:

Напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу
Напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу.

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

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

Напечатать в алфавитном порядке все буквы, которые входят в текст по одному разу
Необходимо решить следующее : Задача 1. Дан произвольный текст. Напечатать в...


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

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

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