Если буквы в строке упорядочены по алфавиту, то вывести 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. Вот список элементов кода:

  1. Подключение необходимых библиотек
  2. Установка кодировки консоли
  3. Выделение памяти под строку
  4. Чтение строки с клавиатуры
  5. Установка начального значения для переменной kod
  6. Проверка каждой буквы в строке
  7. Если буква больше kod и меньше 123, то обновляется значение kod
  8. Если буква меньше kod, то выводится номер буквы, удаляется память под строку, приостанавливается программа до нажатия клавиши и возвращается 0
  9. После проверки всех букв выводится 0
  10. Удаляется память под строку, приостанавливается программа до нажатия клавиши и возвращается 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы