Задать вопрос
@Gagatyn
Самоучка

Как перевести число в строку с++?

string f;
long int a = 0;
int b[25], c = 0, g=0;
cin>>a;
a*=a;
cout<<"a^2 = "<<a<<endl;
f = to_string(a);
for(int i = 0; i < f.length(); i++){
 if(f[i] == '3') {
  cout<<"Цифра 3 находится "<<i<<" элементом";
            return 0;
        }
        else {
            cout<<"False";
            return 0;
        }
    }
return 0;

Выдает ошибку. Я перевел число в строку, она сохранена в f. При сравнении с "3", она же символ, выдает ошибку. Почему? Как исправить?
  • Вопрос задан
  • 500 просмотров
Подписаться Оценить 8 комментариев
Решения вопроса 2
@Mercury13
Программист на «си с крестами» и не только
Ошибка вот где.
else {
            cout<<"False";
            return 0;
        }
    }

Проверяет только первую цифру, и если она не 3 — сразу же говорит false.
Ответ написан
MrNexeon
@MrNexeon
Программа завершается, если первый же символ в строке не равен '3'

else {
 cout<<"False";
 return 0; // данная строчка тому причина
}

Решение проблемы: Убрать строчку return 0;

Если проблема не решена, то напишите текст ошибки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
maaGames
@maaGames
Погроммирую программы
собери debug версию и прочитай, какую именно ошибку выдаёт и что ты там натворил плохого.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы