👤

Bună ziua! Îmi poate spune cineva ce este greșit în răspunsul meu?Pe pbinfo primesc 50 de puncte .

Bună Ziua Îmi Poate Spune Cineva Ce Este Greșit În Răspunsul MeuPe Pbinfo Primesc 50 De Puncte class=
Bună Ziua Îmi Poate Spune Cineva Ce Este Greșit În Răspunsul MeuPe Pbinfo Primesc 50 De Puncte class=

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, i, prec, num, egale=1;

   cin >> n;

   cin >> prec;

   for (i=2; i<=n; ++i)

   {

       cin >> num;

       if (num!=prec) egale=0;

       prec=num;

   }

   if (egale==1) cout << "DA";

   else cout << "NU";

   return 0;

}

Explicație:

nu am generat vector... evit asta dacă e posibil...

folosesc două variabile pentru şirul de numere, prec, pentru precedent şi num, pentru următorul introdus. Din start variabila egale=1, de parcă deacum toate sunt egale. Dacă la un moment oarecare prec!=num, atunci egale=0 şi rămâne cu această valoare până la sfârşit, unde se verifică ce valoare are varabila egale. Dacă a rămas 1, reese că toate sunt egale, altfel, nu.

p.s. Eu am pus un comentariu, că la codul tău, ok=1 când întîlneşte o egalitate (poate fi şi unica) de elemente vecine egale.

Sper că am fost explicit... Succese!

Dacă apar întrebăr, întreabă şi ţi se va răspunde...