Informatică, întrebare adresată de Dumbo15, 8 ani în urmă

Ma poate ajuta cineva sa imi dau seama de ce nu merge codul la aceasta problema si ce am gresit?
Problema #502 VerifDiferite de pe PBINFO
Se dă un vector cu n elemente numere naturale. Să se verifice dacă toate elementele vectorului sunt diferite două câte două.

Date de intrare
Programul citește de la tastatură numărul n, apoi n numere naturale, reprezentând elementele vectorului.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă vectorul are toate elementele diferite, sau NU, în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 500
fiecare element al vectorului va avea cel mult patru cifre

CODUL MEU PE CARE IAU DOAR 50 de Puncte:
#include
using namespace std;
int main() {
int n,v[501];
cin >> n;
for (int i = 1; i <= n; i++)
cin >> v[i];

bool toate_diferite = true;

for (int i = 1; i < n; i++) {
if (v[i] == v[i + 1])
toate_diferite = false;
}
if (toate_diferite)
cout << "DA";
else
cout << "NU";
}


Dumbo15: Sigur e ceva super banal dar nu pot sa imi dau seama unde este eroarea totusi

Răspunsuri la întrebare

Răspuns de Zicun
2

Răspuns:

Am modificat unpic programul tau. Explicatiile sunt in imaginea de mai jos.

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

int n,v[501];

cin>>n;

for (int i=1;i<=n;i++)

{

  cin>>v[i];

}

for (int i=1;i<=n;i++)

   {

       for(int j=i+1;j<=n;j++)

       {

           if(v[i]==v[j])

           {

               cout<<"NU";

               return 0;

           }

       }

   }

   cout<<"DA";

   return 0;

}

Anexe:
Alte întrebări interesante