Sunteți pe pagina 1din 3

#176 Picioare1 (Problemă rezolvată de Păun Bianca)

Cerinţa:
Într-o curte sunt găini și oi. Se cunoaște numărul de capete și numărul de picioare din
curte. Să se determine numărul de găini și numărul de oi.

Date de intrare:
Programul citește de la tastatură numerele C și P, reprezentând numărul de capete și
numărul de picioare din curte.

Date de ieşire:
Programul afișează pe ecran numerele G și O, separate printr-un spațiu, reprezentând
numărul de găini și numărul de oi din curte.

Restricţii şi precizări:
 0< C, P <109
 pentru toate datele de test folosite există soluție

Exemplu:
Intrare
5 14
Ieșire
3 2

Rezolvare.
#include <fstream>
using namespace std;
ifstream fin ("gainisioi.in"); //definirea variabilei dispozitivului de intrare + deschiderea variabilei //
ofstream fout("gainisioi.out");//definirea variabilei dispozitivului de ieșire+ închiderea variabilei//
int main()
{
unsigned short int G,O,P,C;
fin>>C;//citirea numărului de capete din fișierul de intrare//
fin>>P;//citirea numărului de picioare din fișierul de intrare//
O=(P-2*C)/2; //utilizăm expresiile P=4*O+2*G și C=G+O,scădem cele două relații și ne rezultă 2O=P-2C și după o împărțire la 2
G=C-O;//știind că G+O=C, îl mutăm pe O în membru drept și aflăm numărul de găini ne rezultă numărul de oi
fout<<G<<" "<<O;//afișarea numărului de găini și al numărului de oi în fișierul de ieșire
return 0;
}
Variabile folosite: O(numărul de oi), G(numărul de găini), P(numărul de picioare), C(numărul
de capete)
Variabile locale: O, G  Sunt locale deoarece sunt neinițializate cu 0 și sunt accesibile doar în
blocul în care au fost definite.
Variabile globale: P, C  Sunt globale deoarece sunt inițializate cu 0 și sunt accesibile în toate
blocurile care urmează.
Valorile sunt memorate în variabile de tip unsigned short int deoarece sunt memorate
numere întregi pozitive și sunt cuprinse între 0, ... , 1015 −1 și au ca dimensiune 2 octeți (16 biți).
Identificatorii utilizați sunt:
 cuvinte rezervate (cheie) : unsigned short int, main, return etc.
 cuvinte definite de utilizatori (pentru a denumi variabile și tipuri de date): G, O, P, C
Operatori utilizați: aritmetici și de atribuire
Operatorii aritmetici utilizați sunt:
 multiplicativi: *, /; (ex: O=(P-2*C)/2)
 aditivi: +, -; (ex: G=C-O)
Operatorii de atribuire utilizați sunt de tip simplu, variabila primind rezultatul expresiei
atribuite.
#include <fstream>
using namespace std;
ifstream fin ("schimbarecifre.in");
ofstream fout("schimbarecifre.out");
int main()
{
int a,x,y,z,P;
fin>>a;
x=a/10;
y=a%10;
z=y*10+x;
P=z*z;
fout<<P;
return 0;
}
#include <fstream>
using namespace std;
ifstream fin("elimcif.in");
ofstream fout("elimcif.out");
int main()
{
int n,a,b,m;
fin>>n;
a=n/100;
b=n%10;
m=a*10+b;
fout<<m;
return 0;
}

S-ar putea să vă placă și