Detalii evaluare #26285523

Rezumat problemă

#1079 Comp

Locuitorii planetei Eudora folosesc o reprezentare mai ciudată a numerelor naturale, astfel că orice număr natural va fi scris notând câte mii, sute, zeci, respectiv unităţi conţine acesta. De exemplu, numărul 3207 se poate reprezenta în mai multe moduri echivalente: 3m2s7u (3 mii 2 sute şi 7 unităţi), 32s0z7u (32 sute 0 zeci şi 7 unităţi), 32s7u, 3207u, etc.

Pentru a compara două numere naturale, eudorienii folosesc semnele < şi >, acestea având semnificaţia cunoscută şi pe Terra, iar pentru a calcula suma a două numere naturale utilizează semnul +.

Pentru a testa abilităţile pământenilor în privinţa lucrului cu numere naturale, eudorienii au trimis pe Terra un fişier text ce conţine N linii, fiecare linie fiind o comparaţie de forma:

expresie1>expresie2
sau
expresie1<expresie2

Observaţi că o comparaţie este constituită din două expresii separate prin semnul < sau prin semnul >.

O expresie este compusă dintr-un număr natural sau dintr-o sumă de două sau mai multe numere naturale, toate scrise în forma eudoriană. Fişierul nu conţine caractere spaţiu.

Scrieţi un program care determină câte dintre comparaţiile date utilizează semnul <, precum şi valoarea de adevăr a fiecărei comparaţii dintre cele N date (afişând 0 dacă acea comparaţie e falsă, respectiv 1 dacă acea comparaţie e adevărată).

Detalii

Problema Comp Operații I/O comp.in/comp.out
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #26285523 Utilizator Mihai Anastasia (Bingo)
Fișier comp.cpp Dimensiune 1.49 KB
Data încărcării 30 Noiembrie 2020, 13:17 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

comp.cpp: In function 'void Copy(std::string, char*, char*)':
comp.cpp:20:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int j = poz + 1, i = 0; j < S.length(); j++, i++)

                                            ^
comp.cpp: In function 'int Evaluare(char*)':
comp.cpp:25:18: error: 'strlen' was not declared in this scope
  int l = strlen(P), nr = 0, s = 0;

                  ^
comp.cpp:29:4: error: 'nr' was not declared in this scope
    nr = nr * 10 + P[i] - '0';

    ^
comp.cpp:32:5: error: 's' was not declared in this scope
     s += (nr * 100);

     ^
comp.cpp:32:11: error: 'nr' was not declared in this scope
     s += (nr * 100);

           ^
comp.cpp:34:5: error: 's' was not declared in this scope
     s += (nr * 1000);

     ^
comp.cpp:34:11: error: 'nr' was not declared in this scope
     s += (nr * 1000);

           ^
comp.cpp:36:5: error: 's' was not declared in this scope
     s += (nr * 10);

     ^
comp.cpp:36:11: error: 'nr' was not declared in this scope
     s += (nr * 10);

           ^
comp.cpp:38:5: error: 's' was not declared in this scope
     s += nr;

     ^
comp.cpp:38:10: error: 'nr' was not declared in this scope
     s += nr;

          ^
comp.cpp:39:4: error: 'nr' was not declared in this scope
    nr = 0;

    ^
comp.cpp:42:9: error: 's' was not declared in this scope
  return s;

         ^
comp.cpp: In function 'int Show_Sum(char*)':
comp.cpp:45:26: error: 'strtok' was not declared in this scope
  char* p = strtok(P1, "+");

                          ^
comp.cpp: In function 'int main()':
comp.cpp:61:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (S.find("<") != -1)

                       ^
comp.cpp:81:6: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
   if (S[poz] == '>')

      ^
comp.cpp:87:6: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
   if (S[poz] == '<')

      ^
comp.cpp: In function 'int Evaluare(char*)':
comp.cpp:43:1: warning: control reaches end of non-void function [-Wreturn-type]
 }

 ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Comp face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.