Răspuns :
Ma gandesc la 2 variante.
Prima este sa folosesti functia swap:
Ce face swap mai exact?Interschimba 2 valori fara alta variabila auxiliara.
In loc de:
aux=b;
b=a;
a=aux;
vei avea swap(a,b)
Bineinteles, ca aplici functia swap pentru vectorul tau:
2)Parcurgi vectorul si cand gasesti un element egal cu 0, il numeri(cu o variabila nr si stergi valoarea, mutand toate elementele vectorului cu o pozitie la stanga.La final, parcurgi vectorul de la ultima pozitie pana la ultima pozitie+nr si adaugi "0".
Spre exemplu, daca ai vectorul:
7 2 0 5 0 4 3 1 0
1)parcugem vectorul, numaram "0" si le stergem
o sa avem
7 2 5 4 3 1
si nr=3.( nr de 0 eliminate)
2)Parcurgem vectorul de inca 3 ori si adaugam la finalul vectorului 3 zerouri(sau cate am eliminat anterior)
Personal recomand a doua varianta.Cea cu swap s-ar putea sa ridice probleme intr-un vector.
Prima este sa folosesti functia swap:
Ce face swap mai exact?Interschimba 2 valori fara alta variabila auxiliara.
In loc de:
aux=b;
b=a;
a=aux;
vei avea swap(a,b)
Bineinteles, ca aplici functia swap pentru vectorul tau:
2)Parcurgi vectorul si cand gasesti un element egal cu 0, il numeri(cu o variabila nr si stergi valoarea, mutand toate elementele vectorului cu o pozitie la stanga.La final, parcurgi vectorul de la ultima pozitie pana la ultima pozitie+nr si adaugi "0".
Spre exemplu, daca ai vectorul:
7 2 0 5 0 4 3 1 0
1)parcugem vectorul, numaram "0" si le stergem
o sa avem
7 2 5 4 3 1
si nr=3.( nr de 0 eliminate)
2)Parcurgem vectorul de inca 3 ori si adaugam la finalul vectorului 3 zerouri(sau cate am eliminat anterior)
Personal recomand a doua varianta.Cea cu swap s-ar putea sa ridice probleme intr-un vector.
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!