388
Cerința
Gigel are ca temă la matematică să precizeze valoarea de adevăr a unor expresii de forma nr1 semn nr2 = nr3, unde nr1, nr2 și nr3 sunt numere naturale, iar semn poate fi +, -, x sau : reprezintând adunarea, scăderea, înmulțirea și împărțirea. Ajutați-l pe Gigel să rezolve tema la matematică.
Date de intrare
Fișierul de intrare af.in conține pe prima linie numărul de expresii n, iar pe următoarele n linii cele n expresii. Cele trei numere, semnul operației și egal sunt separate câte un spațiu.
Date de ieșire
Fișierul de ieșire af.out va conține pe fiecare linie valoarea de adevăr (Adevarat sau Fals) a expresiei corespunzătoare din fișierul de intrare.
Restricții și precizări
1 ≤ n ≤ 100 ≤ nr1, nr2, nr3și rezultatul operației din membrul stâng≤ 1017nr1 ≥ nr2- rezultatul operația
nr1 : nr2este câtul împărțirii luinr1lanr2 - dacă expresia este de forma
nr1 : 0 = nr3atunci este considerată falsă.
Exemplu
af.in
4 1 + 1 = 2 3 x 3 = 6 5 - 1 = 4 8 : 2 = 3
af.out
Adevarat Fals Adevarat Fals
Explicație
1 + 1 = 2;
3 × 3 ≠ 6;
5 – 1 = 4;
8 : 2 ≠ 3
#include <bits/stdc++.h>
using namespace std;
ifstream cin("af.in");
ofstream cout("af.out");
int main()
{
int n;
cin >> n;
for(int i = 0 ; i < n ; ++i)
{
long long int x , y , z;
char c1 , c2;
cin >> x >> c1 >> y >> c2 >> z;
if(c1=='+')
if(x + y == z)
cout << "Adevarat" << '\n';
else
cout << "Fals" << '\n';
if(c1=='-')
if(x - y == z)
cout << "Adevarat" << '\n';
else
cout << "Fals" << '\n';
if(c1=='x')
if(x * y == z)
cout << "Adevarat" << '\n';
else
cout << "Fals" << '\n';
if(c1==':' && y != 0)
if(x / y == z)
cout << "Adevarat" << '\n';
else
cout << "Fals" << '\n';
else if(c1==':')
cout << "Fals" << '\n';
}
return 0;
}
Comentarii