Если буквы в строке упорядочены по алфавиту, то вывести 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д