Răspuns :
Răspuns:
#include <iostream>
using namespace std;
struct nod
{
int info;
nod* urm;
};
nod *p, *Cap=NULL;
struct nodAp
{
int nr,ap;
nodAp* urm;
};
nodAp *prim=NULL;
void creareLista(nod *&Cap)
{
int i,inf,n;
nod *p, *q;
Cap=NULL;
cout<<"Dati numarul de elemente al listei n = ";cin>>n;
cout<<"Dati prima informatie ";cin>>inf;
p=new nod;
p->info=inf;
p->urm=NULL;
Cap=p; q=p;
for(i=2;i<=n;i++)
{
cout<<"Dati informatia "<<i<<" = ";
cin>>inf;
p=new nod;
p->info=inf;
p->urm=NULL;
q->urm=p;
q=p;
}
}
void afisare(nod *Cap)
{
nod *p=Cap;
while (p != NULL)
{
cout << p->info << " ";
p = p->urm;
}
cout << "\n";
}
void CreareLista2(nodAp *&prim, nod *Cap)
{
nodAp *q, *r;
q=new nodAp;
q->nr=Cap->info;
q->ap=0;
q->urm=NULL;
prim=q;
nod *p=Cap;
while (p!=NULL)
{
q=prim;
while (q->nr!=p->info && q->urm!=NULL)
{
q=q->urm;
}
if (q->nr==p->info) ++q->ap;
else
{
r=new nodAp;
r->nr=p->info;
r->ap=1;
q->urm=r;
q=r;
}
p=p->urm;
}
}
void afisareLista2(nodAp *prim)
{
nodAp *q=prim;
while (q != NULL)
{
cout << "(" << q->nr << "," << q->ap << ") ";
q=q->urm;
}
}
int main()
{
creareLista(Cap);
afisare(Cap);
CreareLista2(prim,Cap);
afisareLista2(prim);
}
Explicație:
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!