Задать вопрос
@YOYOGURTT

Не ведется подсчет в алгоритме. Как это можно исправить и что может быть не так?

Необходимо разработать программу, которая определяет содержится ли в числе последовательность цифр “777”.
Cпособы решения очень ограничены (vector, string как и указатели использовать нельзя). Не могу понять, почему не ведется подсчет, а точнее он не работает так, как было задумано.

//Разработать программу, которая определяет содержится ли в числе последовательность цифр “777”
#include <iostream>
int main() {
    const int size = 5;
    int arr[size];
    int count = 0;
    int term;
    long num;
    std::cout << "Введите ваше число:" ;
    std::cin >> num;
    for(int i= size-1; i >= 0; i--) {
        term = num % 10;
        num /= 10;
        arr[i] = term;
        if(i != 0 && i != size - 1) {
            if(arr[i-1] == 7 && arr[i] == 7 && arr[i+1] == 7) {
                count += 1;}
        }
    }
    if(count>0){
        std::cout << 'T' << std::endl;}
    else {std::cout << 'F' << std::endl;}
    std::cout << count << std::endl;
    for(int i= 0; i < size; ++i) {
        std::cout << arr[i] << " ";}
    return 0;
}
  • Вопрос задан
  • 123 просмотра
Подписаться Простой Комментировать
Ответ пользователя alex_ak1 К ответам на вопрос (3)
@alex_ak1

cin >> num;
for( ; num >= 1000; num /= 10 )
if (num % 1000 == 777)
cout << "содержит"
Ответ написан
Комментировать