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...
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!