Detalii evaluare #58553095

Rezumat problemă

La ora de matematică Georgică a învăţat să evalueze expresii aritmetice. Pentru a verifica acest lucru profesorul de informatică îi propune lui Georgică să evalueze expresii aritmetice de forma:

A o1 B o2 C

Unde A, B, C sunt operanzi, iar o1 şi o2 operatori.

Valorile permise operanzilor pot fi numai termeni din şirul x1 , x2 , …, xn , iar operatorii pot fi numai caracterele + (adunare) şi * (înmulţire).

Profesorul îi pune la dispoziţie lui Georgică o valoare numerică V şi îi cere să determine valorile operanzilor A, B şi C pentru care expresia are valoarea V.

Scrieţi un program, care pentru V, n, x1 , x2 , …, xn şi o1 , o2 , date determină indicii corespunzători termenilor din şirul x1 , x2 , …, xn ce corespund valorilor operanzilor A, B şi C pentru ca expresia dată să aibă valoarea V.

Detalii

Problema expresie1 Operații I/O expresie1.in/expresie1.out
Limita timp 0.5 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #58553095 Utilizator Stroescu Eliana (eli_ana)
Fișier expresie1.cpp Dimensiune 1.75 KB
Data încărcării 17 Iunie 2025, 14:03 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

expresie1.cpp:38:19: warning: missing terminating " character [enabled by default]
     else if(o1 == "\"){

                   ^
expresie1.cpp:38:5: error: missing terminating " character
     else if(o1 == "\"){

     ^
expresie1.cpp:49:19: warning: missing terminating " character [enabled by default]
     else if(o2 == "\"){

                   ^
expresie1.cpp:49:5: error: missing terminating " character
     else if(o2 == "\"){

     ^
expresie1.cpp: In function 'int main()':
expresie1.cpp:29:14: warning: comparison with string literal results in unspecified behaviour [-Waddress]
     if(o1 == "+"){

              ^
expresie1.cpp:29:14: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
expresie1.cpp:32:19: warning: comparison with string literal results in unspecified behaviour [-Waddress]
     else if(o1 == "-"){

                   ^
expresie1.cpp:32:19: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
expresie1.cpp:35:14: warning: comparison with string literal results in unspecified behaviour [-Waddress]
     if(o1 == "*"){

              ^
expresie1.cpp:35:14: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
expresie1.cpp:39:13: error: lvalue required as left operand of assignment
         ok1 = 1;

             ^
expresie1.cpp:39:16: error: expected ')' before ';' token
         ok1 = 1;

                ^
expresie1.cpp:40:14: warning: comparison with string literal results in unspecified behaviour [-Waddress]
     if(o2 == "+"){

              ^
expresie1.cpp:40:14: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
expresie1.cpp:43:19: warning: comparison with string literal results in unspecified behaviour [-Waddress]
     else if(o2 == "-"){

                   ^
expresie1.cpp:43:19: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
expresie1.cpp:46:14: warning: comparison with string literal results in unspecified behaviour [-Waddress]
     if(o2 == "*"){

              ^
expresie1.cpp:46:14: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
expresie1.cpp:50:13: error: lvalue required as left operand of assignment
         ok2 = 1;

             ^
expresie1.cpp:50:16: error: expected ')' before ';' token
         ok2 = 1;

                ^
expresie1.cpp:68:47: error: 'v' was not declared in this scope
                             if((a + b + c) == v)

                                               ^

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 expresie1 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ă.