Răspuns :
Răspuns:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string s,r; // string-uri in care vom stoca raspunsul si ce se citeste din fisier
ifstream f("nrcurat.in"); // deschidem fisierul din care citim
int oglinda = 0, urma = 0, nbr = 0, nbrTemp = 0; // oglinda = oglinda numarului, urma = urma numarului, nbr = numarul, nbrTemp = variabila temporara in care stocam o copie a numarului
if (!f.is_open()) // daca fisierul nu a putut fi deschis
{
return 1; // nu continuam
}
while (getline(f, s)) // cat timp avem linii de citit, citim in variabila S linia
{
nbr = 0; // setam nbr cu 0
for (int i = 0; i < s.length(); i++) // trecem prin toate caracterele din string-ul S
{
if (s[i] == ' ') // daca caracterul curent este spatiu, inseamna ca avem un numar si il procesam
{
nbrTemp = nbr; // copiem numarul pt a calcula urma
oglinda = 0; // oglinda initial e 0
urma = 0; // urma initial e 0
while (nbr != 0) // cat timp avem cifre in numar
{
oglinda = oglinda * 10 + nbr % 10; // luam ultima cifra si o punem in oglinda
nbr = nbr / 10; // eliminam ultima cifra pentru ca am procesat-o
urma = urma * 10 + 9; // adaugam un 9 la urma pentru fiecare cifra din numarul nostru
}
urma = urma - nbrTemp; // calculam urma
if (urma == oglinda) // daca urma este egala cu oglinda
{
r = r + "1 "; // adaugam raspunsul in string-ul de raspuns
}
else // alfel nu este curat deci
{
r = r + "0 "; // adaugam raspunsul in string-ul de raspuns
}
}
else // altfel, nu am terminat numarul
{
nbr = nbr * 10 + s[i] - '0'; // asa ca il citim in continuare, adaugand fiecare caracter la numarul nostru
}
}
}
//repetam acelasi lucru pentru ultimul numar
nbrTemp = nbr;
oglinda = 0;
urma = 0;
while (nbr != 0)
{
oglinda = oglinda * 10 + nbr % 10;
nbr = nbr / 10;
urma = urma * 10 + 9;
}
urma = urma - nbrTemp;
if (urma == oglinda)
{
r = r + "1";
}
else
{
r = r + "0";
}
ofstream of("nrcurat.out"); // deschidem fisierul de scriere
of << r; // scriem rezultatul in fisier
return 0;
}
Explicație:
Am adaugat comentarii pe cod ca sa iti fie mai usor sa intelegi.