С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
2 / 2 / 0
Регистрация: 30.05.2012
Сообщений: 28

Проверка строчных букв на упорядоченность по алфавиту

05.10.2012, 02:06. Показов 4509. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Помогите с программой пожалуйста. Отблагодарю не только словами.

Программу надо написать на языке Си иди С++, но оочень желательно на Си.

Если темой не попал в раздел, простите. Я только после создания заметил что раздел c++, модераторы если можете удалите этот топик, нехочу нарушать правила, создал аналогичный, но уже в правильном разделе.

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

Как должно работать:
Вводим одну или несколько строк, содержащий(-ие) строчные и прописные буквы, проверка строчных букв на упорядоченность по алфавиту и вывод результата проверки.

Даже критерии дал препод
В программе организован понятный для пользователя ввод/вывод (при запросе исходных данных соответствующий запрос должен выводиться на экран с соблюдением правил написания (все пробелы, знаки препинания и пр. должны быть на месте));
Вводимые данные проверяются на корректность (например: если требуется ввести неубывающую последовательность чисел, то при невыполнении этого требования пользователю выводится поясняющее сообщение и предоставляется возможность повторного ввода и т.п.);
Исходный код программы понятен, легко читается, и выдержан в едином стиле;
Имена переменных осмысленны и понятны (например, amount для переменной, в которой хранится количество, или sum – для суммы, или temp – для переменной, предназначенной для временного хранения данных и т.п.)


Также прошу прокоменнтировать наиболее важные места, и описать как работает.
Мне нужно сдать в 12:00 05.10.12, до 11:40 нужно управиться.

Первый кто сделает рабочую и оформленную по критериям программу, получит:
Кликните здесь для просмотра всего текста
Игровой аккаунт origin с несколькими популярными играми

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

Большое спасибо. Добрый человек я жду тебя.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2012, 02:06
Ответы с готовыми решениями:

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

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

Проверка строчных букв на упорядоченность по алфавиту
Доброго времени суток! Помогите с программой пожалуйста. Отблагодарю не только словами. Программу надо написать на языке Си. ...

6
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
05.10.2012, 03:52
Если текст на английском:
Код
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
#include <cstdio>
#include <cstring>
#include <cctype>
using namespace std;
 
// проверка на упорядоченность строчных букв в тексте
bool range(char *text)
{
    int code = 0; // для кода буквы
    for ( int i = 0; i < strlen(text); i++) // перебор букв текста
    {
        if (!islower(text[i])) continue; // если не строчная, то дальше
        else if (code > text[i]) return false; // если код буквы меньше чем был, 
                                              // то строчные буквы не упорядочены
             else code = text[i]; // если не меньше, то запоминаем новый код
    }
    return true; // последовательность строчных букв упорядочена
}
 
int main()
{
 printf("Input text: "); 
 
 char text[255]; // массив для текста
 gets(text); // текст читается в массив
 
 if (range(text)) printf("Yes\n"); // если функция вернула true
 else printf("No\n"); // если функция вернула false
 
 getchar();
 return 0;
}
1
2 / 2 / 0
Регистрация: 30.05.2012
Сообщений: 28
05.10.2012, 10:26  [ТС]
alsav22, у тебя наиболее понятный мне вариант.

Но что означают эти строки:
C
1
2
3
4
5
using namespace std;
...
!islower(text[i])  - а это стандартная комманда проверки?, строчная или нет..
...
getchar();
Еще к сожалению, программа выводит - Yes, если ввести только заглавные буквы.
И включения, я так понял это другое написание #include<хххх.h>?

Можете поправить?
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
05.10.2012, 10:33
using namespace std; - использовать пространство имён std

islower - http://www.cplusplus.com/refer... e/islower/

getchar() http://www.cplusplus.com/refer... o/getchar/
1
2 / 2 / 0
Регистрация: 30.05.2012
Сообщений: 28
05.10.2012, 10:43  [ТС]
David Sylva, спасибо, как я и предпологал.

Но у него getchar() в самом конце, это что дает? Приостановку?
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
05.10.2012, 12:36
Назовём это словом задержка.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
05.10.2012, 20:04
Цитата Сообщение от SiDER Посмотреть сообщение
Можете поправить?
Наверное, уже поздно, но:
Код
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
#include <cstring>
#include <cctype>
using namespace std;
 
// проверка на упорядоченность строчных букв в тексте
bool range(char *text)
{
    int code = 0; // для кода буквы
    int flag = 0; // флаг для прописных
    for ( int i = 0; i < strlen(text); i++) // перебор букв текста
    {
        if (!islower(text[i])) // если не строчная
        {
            flag = 1;
            continue; // если не строчная, то дальше
        }
        else if (code > text[i]) return false; // если код буквы меньше чем был, 
                                              // то строчные буквы не упорядочены
             else code = text[i]; // если не меньше, то запоминаем новый код
    }
    if (flag == 1 && code == 0) return false; // если только прописные 
    else return true; // последовательность строчных букв упорядочена
}
 
int main()
{
 printf("Input text: "); 
 
 char text[255]; // массив для текста
 gets(text); // текст читается в массив
 
 if (range(text)) printf("Yes\n"); // если функция вернула true
 else printf("No\n"); // если функция вернула false
 
 getchar();
 return 0;
}


Добавлено через 2 минуты
Цитата Сообщение от SiDER Посмотреть сообщение
getchar() в самом конце, это что дает? Приостановку?
Ожидание ввода символа (используется для паузы, чтобы окно сразу не закрылось).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2012, 20:04
Помогаю со студенческими работами здесь

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

Подсчитать количество содержащихся в ней цифр, прописных букв и строчных букв.
Дана строка. Подсчитать количество содержащихся в ней цифр, прописных букв и строчных букв.

Вывод кодов букв латинского алфавита прописных и строчных букв
Мой код с выводом кодов строчных букв: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main (void) { int j = 1; char a = 'j'; ...

Дан текст из строчных русских букв. Подсчитать количество гласных букв в тексте
Дан текст из строчных русских букв. Подсчитать количество гласных букв в тексте.

Дана строка. Подсчитать количество содержащихся в ней цифр, прописных букв и строчных букв
Дана строка. Подсчитать количество содержащихся в ней цифр, прописных букв и строчных букв.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru