Если буквы в строке упорядочены по алфавиту, то вывести 0 - C (СИ)
Формулировка задачи:
Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по алфавиту, то вывести 0; в противном случае вывести номер первого символа строки, нарушающего алфавитный порядок.
Решение задачи: «Если буквы в строке упорядочены по алфавиту, то вывести 0»
textual
Листинг программы
- #include <windows.h>
- #include <stdio.h>
- #include <conio.h>
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- char * stroka = new char[1000];
- fgets(stroka, 1000, stdin);
- int i = 0, kod = 97;
- while (stroka[i] != '\0'){
- if ((int)stroka[i] > 96 && (int)stroka[i] < 123){
- if ((int)stroka[i] >= kod){
- kod = (int)stroka[i];
- }
- else{
- printf("%i", i + 1);
- delete[] stroka;
- _getch();
- return 0;
- }
- }
- i++;
- }
- printf("0");
- delete[] stroka;
- _getch();
- return 0;
- }
Объяснение кода листинга программы
В этом коде проверяется, упорядочены ли буквы в строке по алфавиту. Если да, то выводится 0. Вот список элементов кода:
- Подключение необходимых библиотек
- Установка кодировки консоли
- Выделение памяти под строку
- Чтение строки с клавиатуры
- Установка начального значения для переменной kod
- Проверка каждой буквы в строке
- Если буква больше kod и меньше 123, то обновляется значение kod
- Если буква меньше kod, то выводится номер буквы, удаляется память под строку, приостанавливается программа до нажатия клавиши и возвращается 0
- После проверки всех букв выводится 0
- Удаляется память под строку, приостанавливается программа до нажатия клавиши и возвращается 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д