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.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!