Rog AJUTOR! in C++ doar cu if, else si while
Cerință
Andrei, jucător amator de fotbal, are acasă o colecție de mingi. Fiecărei mingi i-a asociat o cifră. Într-o zi a așezat toate mingile într-o linie și și-a dat seama că cifrele de pe mingi formau un număr natural. Și-a mai dat seama și că toate mingile ce aveau scrise cifra C pe ele aveau o nuanță stridentă, așa că a hotărât să le elimine din șir. Care este noul număr format după eliminarea tuturor mingilor cărora le corespunde cifra C? Acum rămâne în sarcina ta să îți dai seama.
Date de intrare
Se citesc de pe aceași linie numărul N și cifra C, reprezentând numărul format cu cifrele mingilor, respectiv cifra ce apare pe mingile ce trebuie eliminate.
Date de ieșire
Se afișează numărul obținut în urma efectuării eliminărilor.
Restricții
N are cel puțin 1 cifră și maxim 8.
Dacă în urma eliminării tuturor aparițiilor cifrei C nu mai rămâne nicio cifră, se va afișa -1, iar dacă vor rămâne numai cifre nule se va afișa 0.
Dacă, în urma eliminărilor, noul număr începe cu unul sau mai mulți de 0 și există alte cifre nenule în noul număr, se vor elimina și acei 0 de la început.
Exemplu
Date de intrare
1441 4
Date de iesire
11
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <algorithm>
bool numai_zero(const std::string& s) {
if (!s.size())
return false;
size_t i = 0;
while (i < s.size())
if (s[i++] != '0')
return false;
return true;
}
int main() {
std::string s;
char c;
std::cin >> s >> c;
s.erase(std::remove(s.begin(), s.end(), c), s.end());
std::cout << (numai_zero(s) ? "0" : s.size() ? std::to_string(std::stoi(s)) : "-1");
}
c10crys:
te rog, fara "for"...daca se poate cu if,elese,while
Solutia e buna, dar nu stiu daca el o sa se poata folosi de ea...
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă