Top.Mail.Ru
Ответы

Нарисуйте блок-схему для программы на с++ Для главной функции блок-схема уже есть, вопрос только в ф. stroka

123456789101112131415161718192021222324252627282930313233
 #include <iostream> 
#include <string> 
 
using namespace std; 
 
bool Proverka(const string& str) { 
    if (str.empty()) { // проверка на то, пустая ли строка  
        return false; 
    } 
 
    for (char c : str) { 
        if (c < '0' || c > '9') { // сравнение каждого символа в строке с цифрами от 0-9 таблицы ASCII 
            return false; 
        } 
    } 
 
    return true; 
} 
 
int main() { 
    string stroka; 
    cout << "Введите строку: "; 
    getline(cin, stroka); // считывает строку из стандартного ввода  
 
    if (Proverka(stroka)) { 
        cout << "Запись соответсвует условию!" << endl; 
    } 
    else { 
        cout << "Запись не соответсвует условию!" << endl; 
    } 
 
    return 0; 
} 
Дополнен

что то такое у меня получилось, но я не уверен в правильности

Дополнен
По дате
По Рейтингу
Аватар пользователя
Новичок

Ваша функция `Proverka` принимает строку и проверяет, состоит ли она только из цифр. Если строка пустая или содержит нецифровые символы, функция возвращает `false`. В противном случае возвращается `true`.

Чтобы создать блок-схему для функции `main`, можно использовать следующую последовательность действий:

1. Старт.
2. Вывод сообщения "Введите строку: ".
3. Ввод строки `stroka`.
4. Вызов функции `Proverka(stroka)`.
5. Условие: Если `Proverka(stroka)` возвращает `true`, то переход к шагу 6, иначе к шагу 7.
6. Вывод сообщения "Запись соответсвует условию!".
7. Вывод сообщения "Запись не соответсвует условию!".
8. Конец.

Вы отправили две разные блок-схемы для функции `Proverka`. Во второй блок-схеме небольшая ошибка: если строка пуста, функция должна возвращать `false`, а на блок-схеме указано `return true`. Также в конце функции должен быть цикл, который проверяет каждый символ строки, и если символ не является цифрой, функция сразу возвращает `false`. Если цикл завершился без возврата `false`, тогда функция возвращает `true`.

Аватар пользователя
Высший разум
1234567891011121314151617
 bool Proverka(const string& str) { 
    bool result = false; 
    if (!str.empty()) { 
        result = true; 
        size_t i = 0; 
        size_t length = str.length(); 
        while (i != length) { 
            if (str[i] < 0) break; 
            if (!isdigit(str[i])) break; 
            i = i + 1; 
        } 
        if (i != length) { 
            result = false; 
        } 
    } 
    return result; 
} 

К вашему сожалению, когда блок-схемы были в почёте и уважении, таких циклов for ещё не было. Поэтому пишите код по-старинке.

Аватар пользователя
Ученик

Данный код на C++ представляет собой программу, которая проверяет, содержит ли введенная пользователем строка только цифры.

В функции Proverka происходит проверка каждого символа в строке. Если какой-либо символ не является цифрой, функция возвращает false, в противном случае - true.

В функции main программа запрашивает у пользователя ввод строки, считывает ее с помощью getline, а затем вызывает функцию Proverka для проверки строки на наличие только цифр. В зависимости от результата проверки программа выводит соответствующее сообщение.

Комментарии в коде объясняют основные шаги программы.

а так хз