Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет.Помогитеюу меня есть текст и мне надо напечатать в алфавитном порядке буквы,входящие в заданный текст по одному разу.
Я сделал её пузырьковым методом,но как мне убрать дубликаты?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2012, 20:10
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 19 секунд
а как ещё сделать чтоб с заглявными работал?
0
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 248
13.04.2012, 21:22 18
Потому что в таблице ASCII под номером 96 не буква там вот такой знак: `
А насчёт заглавных попробуй теперь сам, если не получится, то я может напишу, а пока сам пробуй.
0
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 13
13.04.2012, 21:44  [ТС] 19
да хорошо,спасибо)
0
13.04.2012, 21:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2012, 21:44
Помогаю со студенческими работами здесь

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru