Дан текст, содержащий цифры. вывести на экран наибольшую цифру. нужно решить в с++ , желательно с пояснениями.(решать используя строки и в стиле с)

Xieb Xieb    1   18.09.2019 09:10    1

Ответы
KateDonut1 KateDonut1  07.10.2020 23:50
#include <iostream>
/*Библиотека стандартного ввода-вывода C++ */                     
#include <string>
/*строки*/
#include <cstdio>
//Библиотека стандартного ввода-вывода C*/

using namespace std;

int main()
{
    short int maxDigit = -1;
    string str;
    printf("%s","Введите строку: ");
    cin >> str;                         
    /*Ввод строки*/
    for(int i = 0; str[i] != '\0'; i++)
    /*Цикл от начала строки до ее конца*/   
    /*('\0' - "нуль-терминатор" это символ конца строки)*/                            
    {                                         
        if((isdigit(str[i])) && (short int)(str[i]-48)>maxDigit)
        /*Если текуший символ цифра и она больше maxDigit)*/
        /*"(short int)...-48" преобразует char в short int*/           
        maxDigit = (short int)(str[i]-48);
        /*То maxDigit = этой цифре.*/  
    }   
    if(maxDigit == -1)  cout << "В строке нет цифр: " <<  "\n";   
    cout << "Наибольшая цифра: " << maxDigit << "\n";   
    /*Вывод */
    system("pause");
    return 0;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика