Найти максимальное количество символов между двумя английскими заглавными буквами - C (СИ)

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

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

Нужна программа на C (не на C++), которая считает, максимальное кол-во символов между 2мя английскими заглавными буквами (ASCII)... Пытался написать, отказывается работать (нужно использовать только стандартные getchar(); putchar (); и т.д. Вот мой код, скажите пожалуйста что не так. Заранее благодарен (библиотеки естественно подключены)
#include <stdio.h>
#include <conio.h>
 
void main()
{
char text; // Текущий символ.
int number=0; // Переменная, для хранения кол-ва символов между заглавными буквами.
int maxnum=0; // Переменная, для хранения максимального кол-ва символов между заглавными буквами.
bool count=false; //Флаг, показывающий, идет ли подсчет или нет.
//Запрос ввода строки:
            printf("Enter the string please (don't forget CTRL+Z at the end):\n");
            text=getchar();
            while (text!=EOF)
            {
                if ((text>64 && text<91) && count==false) // Заглавные английские буквы имеют код от 65 до 90
                count=true; //Этот IF нужен на случай, если файл начинается не с заглавной буквы!
                if (count==true && (text<65 || text>90))
                number++;
                if (count==true && (text>64 && text<91))
                {
                    if (number>maxnum)
                        maxnum=number;
                    number=0;
                }
                text=getchar();
            }
printf("%d", maxnum);
getch();
}
Помогите плиииз!
Странно...в Turbo C++ работает, в VS нет...кто нибудь объяснит в чем проблема?!

Решение задачи: «Найти максимальное количество символов между двумя английскими заглавными буквами»

textual
Листинг программы
bool count=false;

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

  1. Переменная count инициализируется значением false.
  2. Запускается цикл, который будет выполняться до тех пор, пока не будет найдено максимальное количество символов между двумя английскими заглавными буквами.
  3. В каждой итерации цикла проверяется текущий символ. Если текущий символ является английской заглавной буквой, то переменная count устанавливается в значение true.
  4. Если переменная count равна true, то значение переменной count увеличивается на единицу.
  5. Если переменная count равна false, то значение переменной count устанавливается в единицу.
  6. Если переменная count равна true, то значение переменной count устанавливается в ноль.
  7. Цикл продолжается до тех пор, пока не будет найдено максимальное количество символов между двумя английскими заглавными буквами.
  8. После завершения цикла, переменная count содержит максимальное количество символов между двумя английскими заглавными буквами.
  9. Код завершается, возвращая значение переменной count.

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


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

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

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