Если буквы в строке упорядочены по алфавиту, то вывести 0 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по алфавиту, то вывести 0; в противном случае вывести номер первого символа строки, нарушающего алфавитный порядок.

Решение задачи: «Если буквы в строке упорядочены по алфавиту, то вывести 0»

textual
Листинг программы
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5.  
  6. int main()
  7. {
  8.     SetConsoleCP(1251);
  9.     SetConsoleOutputCP(1251);
  10.     char * stroka = new char[1000];
  11.     fgets(stroka, 1000, stdin);
  12.     int i = 0, kod = 97;
  13.     while (stroka[i] != '\0'){
  14.         if ((int)stroka[i] > 96 && (int)stroka[i] < 123){
  15.             if ((int)stroka[i] >= kod){
  16.                 kod = (int)stroka[i];
  17.             }
  18.             else{
  19.                 printf("%i", i + 1);
  20.                 delete[] stroka;
  21.                 _getch();
  22.                 return 0;
  23.             }
  24.         }
  25.         i++;
  26.     }
  27.     printf("0");
  28.     delete[] stroka;
  29.     _getch();
  30.     return 0;
  31. }

Объяснение кода листинга программы

В этом коде проверяется, упорядочены ли буквы в строке по алфавиту. Если да, то выводится 0. Вот список элементов кода:

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

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


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

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

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы