Sunteți pe pagina 1din 2

#include <iostream>

#include <cstring>

using namespace std;

int main()
{

/// ma ocup de nume si an


char str[101], nume[101];
cin.getline(str+1,100);
int nr = strlen(str+1);
int i=1, an=0;
while(str[i]!='('){ ///nu am intalnit paranteza, deci inca citesc numele
filmului
nume[i]=str[i];
i++;
}
nume[i]=0;
i++;
while(str[i]!=')'){
an=an*10+str[i]-'0';
i++;
}

cout<<(nume+1)<<' '<<an<<'\n';

/// ma ocup de vectorul de ratinguri


int n;
cin>>n;
cin.get();
char s[100]; /// salvez un sir de caractere
double v[100]; /// salvez toate cele n valori ca sa fac media (dupa ce le
transform in int)

for(int p=1;p<=n;p++){
cin>>(s+1); /// citesc un rating
int nr=strlen(s+1);
double a=0, b=0, x=0;
int z=1;
bool pct=0, div=0;

for(int i=1;i<=nr;i++){
if(s[i]>='0' && s[i]<='9'){ ///intalnesc cifra
x=x*10+(s[i]-'0'); /// formez nr
if(pct) /// am intalnit pct, deci formez partea zecimala
z*=10; ///contorizez nr de zecimale
}
else if(s[i]=='.'){
if(!div) ///n-am intalnit /, deci sunt la numarator, salvez
partea intreaga in variabila a
a=x;
else ///sunt la numitor, deci salvez partea intreaga in
variabila b
b=x;
x=0; ///resetez x ca sa incep sa salvez partea zecimala
pct=1; /// trec la partea zecimala
}
else if(s[i]=='/'){
///am intalnit /, trebuie sa salvez nr format anterior intr o
variabila
a=a+x/z;
div=1; /// am intalnit /
pct=0; ///resetez pt ca trec la alt nr
z=1;
x=0;
}
}

if(div){ /// daca am intalnit / ramane sa adaug la b partea zecimala


b=b+x/z;
v[p]=a/b;
}
else{ ///nu am intalnit /, deci adaug la a partea zecimala
a=a+x/z;
v[p]=a;
}
cin.get();
}
for(int i=1;i<=n;i++)
cout<<v[i]<<' ';
return 0;
}

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