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

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

Восстановить пароль Регистрация
 
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:10     Напечатать в алфавитном порядке буквы #1
Всем привет.Помогитеюу меня есть текст и мне надо напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу.
Я сделал её пузырьковым методом,но как мне убрать дубликаты?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2012, 20:10     Напечатать в алфавитном порядке буквы
Посмотрите здесь:

C++ Напечатать в алфавитном порядке все буквы, которые входят в текст по одному разу
C++ Напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу
C++ Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово
Напечатать в алфавитном порядке все различные русские буквы , входящие в введенный текст C++
C++ Напечатать в алфавитном порядке все согласные буквы, входящие в текст.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
13.04.2012, 20:16     Напечатать в алфавитном порядке буквы #2
Цитата Сообщение от Артём12 Посмотреть сообщение
Всем привет.Помогитеюу меня есть текст и мне надо напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу.
Я сделал её пузырьковым методом,но как мне убрать дубликаты?
вы бы сначала нашли неповторяющиеся буквы,а потом уже сортировали их.
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:17  [ТС]     Напечатать в алфавитном порядке буквы #3
Цитата Сообщение от antoha398 Посмотреть сообщение
вы бы сначала нашли неповторяющиеся буквы,а потом уже сортировали их.
а с повторяющимися что делать?
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
13.04.2012, 20:23     Напечатать в алфавитном порядке буквы #4
Цитата Сообщение от Артём12 Посмотреть сообщение
а с повторяющимися что делать?
неповторящиеся заносите в другой массив и его сортируете.
Бендер
 Аватар для Бендер
9 / 9 / 1
Регистрация: 13.04.2012
Сообщений: 19
13.04.2012, 20:23     Напечатать в алфавитном порядке буквы #5
1. Заведите массив для хранения не повторяющихся символов.
2. Пробегайте в цикле по тексту и проверяйте наличие очередного символа в массиве, если его нет - записывайте, если есть не записывайте символ в массив.
3. Отсортируйте массив.
В результате вы получите отсортированный массив с не повторяющимися символами.
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
13.04.2012, 20:27     Напечатать в алфавитном порядке буквы #6
Автор, всё ещё проще)).......тема ещё актуальна??
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:32  [ТС]     Напечатать в алфавитном порядке буквы #7
Цитата Сообщение от main.c Посмотреть сообщение
Автор, всё ещё проще)).......тема ещё актуальна??
да,конечно)
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
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 минуты
Так, я уже нашёл парочку ошибок, сейчас исправлю)
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:47  [ТС]     Напечатать в алфавитном порядке буквы #9
так-то мне всё понятно)но он дубликаты не удаляет,у меня как раз в этом вопрос был,как их убрать-то?)ну у тебя она проще,я пузырьковым делаю...
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
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;
            }
        }
    }
}
Усё, готово))
Работает, но мне в некотором месте самому не нравится
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 20:56  [ТС]     Напечатать в алфавитном порядке буквы #11
слуушай,а он у меня вообще ничего не выводить((
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
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 минуту
А какой язык тебе нужен, потому что я написал обработку англо-язычной строки.
Артём12
0 / 0 / 0
Регистрация: 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 и где он сортирует?
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
13.04.2012, 21:02     Напечатать в алфавитном порядке буквы #14
У меня всё работает.Проверь точнее.
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:03  [ТС]     Напечатать в алфавитном порядке буквы #15
Цитата Сообщение от main.c Посмотреть сообщение
У меня всё работает.Проверь точнее.
да да,всё работает,читай предыдущее
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
13.04.2012, 21:07     Напечатать в алфавитном порядке буквы #16
1. Continue пропускает 1 итерацию и переходит к следующей.
2. Во время проверки мы проверяем в алфавитном порядке, в таком же порядке и выводит.
Хотя в данном случае, будет в алфавитном только если буквы будут либо все строчные, либо все прописные.
В принципе можно доработать, чтоб работало в обоих случаях.
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:10  [ТС]     Напечатать в алфавитном порядке буквы #17
Цитата Сообщение от main.c Посмотреть сообщение
1. Continue пропускает 1 итерацию и переходит к следующей.
2. Во время проверки мы проверяем в алфавитном порядке, в таком же порядке и выводит.
Хотя в данном случае, будет в алфавитном только если буквы будут либо все строчные, либо все прописные.
В принципе можно доработать, чтоб работало в обоих случаях.
ага,понятно,а 96 зачем ?

Добавлено через 19 секунд
а как ещё сделать чтоб с заглявными работал?
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 233
13.04.2012, 21:22     Напечатать в алфавитном порядке буквы #18
Потому что в таблице ASCII под номером 96 не буква там вот такой знак: `
А насчёт заглавных попробуй теперь сам, если не получится, то я может напишу, а пока сам пробуй.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2012, 21:44     Напечатать в алфавитном порядке буквы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Артём12
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:44  [ТС]     Напечатать в алфавитном порядке буквы #19
да хорошо,спасибо)
Yandex
Объявления
13.04.2012, 21:44     Напечатать в алфавитном порядке буквы
Ответ Создать тему
Опции темы

Текущее время: 04:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru