Detalii evaluare #64689479

Rezumat problemă

Se dau coordonatele carteziene a n puncte în plan. Să se determine distanța maximă dintre un punct dat și originea sistemului de coordonate și numărul de puncte situate la acea distanță față de origine.

Detalii

Problema Puncte Operații I/O tastatură/ecran
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #64689479 Utilizator Edu Cezar (Sk3ppy47)
Fișier puncte.cpp Dimensiune 5.61 KB
Data încărcării 23 Mai 2026, 12:34 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

puncte.cpp:58:745: error: stray ‘#’ in program
   58 | Use code with caution.Ce s-a schimbat și de ce?fixed și setprecision(3): Forțează programul să afișeze exact 3 zecimale (ex: 5.000 în loc de 5).Fără text la citire: Am șters cout<<"nr de puncte = "; deoarece evaluatorul automat introduce direct datele și verifică strict ieșirea.Logica cu pătrate: Comparând x*x + y*y (care sunt numere întregi), suntem 100% siguri că verificarea == funcționează corect. Două puncte precum (1, 2) și (2, 1) vor avea ambele pătratul 5, deci vor fi numărate corect.Dacă vrei, putem modifica codul pentru a nu mai folosi deloc vectorul c, reducând memoria la minimum deoarece punctele pot fi procesate pe loc. Te interesează această optimizare pentru memorie?AI responses may include mistakes. Learn moreYou said: #include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ^
puncte.cpp:94:429: warning: multi-character character constant [-Wmultichar]
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                             ^~~~~~
puncte.cpp:94:436: error: too many decimal points in number
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                    ^~~
puncte.cpp:94:718: error: too many decimal points in number
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ^~~
puncte.cpp:94:922: error: stray ‘#’ in program
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ^
puncte.cpp:94:1258: error: stray ‘#’ in program
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ^
puncte.cpp:58:1: error: ‘Use’ does not name a type
   58 | Use code with caution.Ce s-a schimbat și de ce?fixed și setprecision(3): Forțează programul să afișeze exact 3 zecimale (ex: 5.000 în loc de 5).Fără text la citire: Am șters cout<<"nr de puncte = "; deoarece evaluatorul automat introduce direct datele și verifică strict ieșirea.Logica cu pătrate: Comparând x*x + y*y (care sunt numere întregi), suntem 100% siguri că verificarea == funcționează corect. Două puncte precum (1, 2) și (2, 1) vor avea ambele pătratul 5, deci vor fi numărate corect.Dacă vrei, putem modifica codul pentru a nu mai folosi deloc vectorul c, reducând memoria la minimum deoarece punctele pot fi procesate pe loc. Te interesează această optimizare pentru memorie?AI responses may include mistakes. Learn moreYou said: #include <iostream>
      | ^~~
puncte.cpp:58:200: error: ‘deoarece’ does not name a type
   58 | Use code with caution.Ce s-a schimbat și de ce?fixed și setprecision(3): Forțează programul să afișeze exact 3 zecimale (ex: 5.000 în loc de 5).Fără text la citire: Am șters cout<<"nr de puncte = "; deoarece evaluatorul automat introduce direct datele și verifică strict ieșirea.Logica cu pătrate: Comparând x*x + y*y (care sunt numere întregi), suntem 100% siguri că verificarea == funcționează corect. Două puncte precum (1, 2) și (2, 1) vor avea ambele pătratul 5, deci vor fi numărate corect.Dacă vrei, putem modifica codul pentru a nu mai folosi deloc vectorul c, reducând memoria la minimum deoarece punctele pot fi procesate pe loc. Te interesează această optimizare pentru memorie?AI responses may include mistakes. Learn moreYou said: #include <iostream>
      |                                                                                                                                                                                                        ^~~~~~~~
puncte.cpp:61:8: error: redefinition of ‘struct coordonata_punct’
   61 | struct coordonata_punct
      |        ^~~~~~~~~~~~~~~~
puncte.cpp:7:8: note: previous definition of ‘struct coordonata_punct’
    7 | struct coordonata_punct
      |        ^~~~~~~~~~~~~~~~
puncte.cpp:73:5: error: redefinition of ‘int main()’
   73 | int main()
      |     ^~~~
puncte.cpp:19:5: note: ‘int main()’ previously defined here
   19 | int main()
      |     ^~~~
puncte.cpp: In function ‘int main()’:
puncte.cpp:89:5: error: ‘a’ was not declared in this scope
   89 |     a    else if(maxi == lorigine)
      |     ^
puncte.cpp: At global scope:
puncte.cpp:94:2: error: ‘Codul’ does not name a type
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |  ^~~~~
puncte.cpp:94:790: error: ‘trebuie’ does not name a type
   94 | }Codul tău a corectat tipurile de date pentru maxi și lorigine, însă conține trei erori majore care vor bloca compilarea sau vor genera rezultate greșite pe platforma de evaluare.Iată problemele din această variantă:1. Eroare de sintaxă (Litera a rătăcită)La linia 32 ai scris a    else if(maxi == lorigine). Acea literă a va genera o eroare de compilare imediată (error: 'a' does not name a type sau error: expected ';' before 'else').2. Funcția ta returnează în continuare intDeși ai declarat double lorigine în main și double ipotenuza în funcție, antetul funcției este încă int lungime_orig(...).Din această cauză, valoarea cu zecimale este convertită forțat în întreg (trunchiată) atunci când funcția face return.3. Mesajul text și formatul de afișareMesajul cout<<"nr de puncte = "; trebuie eliminat pentru a nu induce în eroare evaluatorul automat.Rezultatul trebuie afișat cu formatare fixă de zecimale (folosind #include <iomanip>), altfel numerele întregi (cum ar fi distanța 5) se vor afișa ca 5, nu ca 5.000 cum cer testele.Codul tău corectat (Păstrând structura ta exactă)Iată varianta ta de cod, în care am reparat tipul returnat de funcție, am șters litera a rătăcită, am eliminat textul de citire și am adăugat formatarea pentru zecimale:cpp#include <iostream>
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^~~~~~~
puncte.cpp:100:8: error: redefinition of ‘struct coordonata_punct’
  100 | struct coordonata_punct
      |        ^~~~~~~~~~~~~~~~
puncte.cpp:7:8: note: previous definition of ‘struct coordonata_punct’
    7 | struct coordonata_punct
      |        ^~~~~~~~~~~~~~~~
puncte.cpp:107:8: error: ambiguating new declaration of ‘double lungime_orig(int, int)’
  107 | double lungime_orig(int x, int y)
      |        ^~~~~~~~~~~~
puncte.cpp:66:5: note: old declaration ‘int lungime_orig(int, int)’
   66 | int lungime_orig(int x, int y)//pitagora fata de x si y
      |     ^~~~~~~~~~~~
puncte.cpp:115:5: error: redefinition of ‘int main()’
  115 | int main()
      |     ^~~~
puncte.cpp:19:5: note: ‘int main()’ previously defined here
   19 | int main()
      |     ^~~~
puncte.cpp: In function ‘int main()’:
puncte.cpp:142:60: error: expected ‘}’ at end of input
  142 |     cout << fixed << setprecision(3) << maxi << " " << cnt;
      |                                                            ^
puncte.cpp:116:1: note: to match this ‘{’
  116 | {
      | ^

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

Du-te sus!