Detalii evaluare #42804102

Rezumat problemă

Considerăm un număr întreg N şi un şir de M cifre zecimale nenule. Să se determine dacă numărul N poate fi rezultatul unei expresii aritmetice simple (fără paranteze), formată exclusiv din cifrele şirului citit şi din operatorii aritmetici desemnaţi pentru operaţiile de adunare şi scădere (+, -).

Scrieţi un program care citeşte numerele N şi M de pe prima linie a fişierului de intrare şi şirul de M cifre de pe linia următoare şi determină şi afişează expresia găsită sau valoarea 0 în cazul în care nu există soluţie.

OJI 2011, Clasa a VIII-a

Detalii

Problema Adunscad Operații I/O adunscad.in/adunscad.out
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #42804102 Utilizator Paraschiv Razvan (Razvan_Nicolas)
Fișier adunscad.cpp Dimensiune 1.89 KB
Data încărcării 17 Martie 2023, 16:44 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

adunscad.cpp:9:5: error: 'int index' redeclared as different kind of symbol
 int index = 0;

     ^
In file included from /usr/include/c++/4.8/cstring:42:0,
                 from adunscad.cpp:3:
/usr/include/string.h:482:1: error: previous declaration of 'const char* index(const char*, int)'
 index (const char *__s, int __c) __THROW
 ^
adunscad.cpp: In function 'void add(int)':
adunscad.cpp:12:15: error: no post-increment operator for type
     expr[index++] = '+';

               ^
adunscad.cpp:13:15: error: no post-increment operator for type
     expr[index++] = num + '0';

               ^
adunscad.cpp: In function 'void subtract(int)':
adunscad.cpp:18:15: error: no post-increment operator for type
     expr[index++] = '-';

               ^
adunscad.cpp:19:15: error: no post-increment operator for type
     expr[index++] = num + '0';

               ^
adunscad.cpp: In function 'int main()':
adunscad.cpp:36:23: error: no post-increment operator for type
             expr[index++] = digits[i] + '0';

                       ^

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