👤

URGENT!! Se dă un vector cu n elemente numere naturale. Să se verifice dacă toate elementele vectorului sunt egale.
Trebuie sa folosesc liste simplu inlantuite!
Multumesc!


Răspuns :

#include <iostream>

using namespace std;

int n, i, v[502];

struct node{

   int num;

   node *next;

};

node *cap=NULL;

void creareLista(node *&p, int n)

{

   if (n==0) p=NULL;

   else

   {

       node *q=new node, *r;

       q->num=v[0];

       q->next=NULL;

       p=q;r=q;

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

       {

          q=new node;

          q->num=v[i];

          q->next=NULL;

          r->next=q;

          r=q;

       }

   }

}

int DaEgale(node *p)

{

   int a=p->num, egale=1;

   node *q=p;

   while (q!=NULL)

   {

       if (q->num!=a) { egale=0; break; }

       q=q->next;

   }

   return egale;

}

int main()

{

   cin >> n;

   

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

       cin >> v[i];

   creareLista(cap,n);

   

   if (DaEgale(cap)) cout << "DA";

   else cout << "NU";

}

Explicație:

codul era corect. Problema este că pe pbinfo nu se acceptă afişeri intermediare, deaceea am redactat codul şi am luat 100