online: 2; azi: 1464; total: 53470 Manual clasa a ix a - Implementarea structurilor de date - Structuri de date

Probleme Rezolvate



Manual clasa a IX a

Implementarea structurilor de date

Structuri de date

Se consideră un vector a cu elemente numere întregi, cu lungimea n. Să se rearanjze elementele vectorului astfel încât numerele pare să fie scrise înaintea numerelor impare.
Pentru a rearanja elementele vectorului astfel încât numerele pare să fie scrise înaintea numerelor impare, putem folosi o metodă simplă de sortare.
Putem utiliza două variabile pentru a ține evidența pozițiilor în vectorul a: i pentru numerele pare și j pentru numerele impare. Parcurgem vectorul a și pentru fiecare element verificăm dacă este par sau impar. Dacă este par, îl plasăm la poziția i și incrementăm i, altfel îl plasăm la poziția j și incrementăm j.
După ce am parcurs întregul vector, toate numerele pare vor fi plasate înaintea numerelor impare.
# include < iostream >
using namespace std ;
int main () {
const int MAX = 100 ;
int n, a[MAX], i = 0 , j = 0 ;
// Citirea vectorului a
cout << " Introduceti lungimea vectorului: " ;
cin >> n;
cout << " Introduceti elementele vectorului: " ;
for ( int k = 0 ; k < n; k++) {
cin >> a[k];
}
// Rearanjarea elementelor vectorului
while (j < n) {
if (a[j] % 2 == 0 ) {
swap (a[i], a[j]);
i++;
}
j++;
}
// Afisarea vectorului a rearanjat
cout << "Vectorul a dupa rearanjare este: " ;
for ( int k = 0 ; k < n; k++) {
cout << a[k] << " " ;
}
cout << endl ;
return 0 ;
}

Observați că în cod am utilizat funcția swap () pentru a interschimba elementele vectorului. Această funcție este predefinită în biblioteca standard C++ și este utilizată pentru a interschimba valorile a două variabile.
Dacă este necesar să evitați utilizarea funcției swap () , puteți folosi o variabilă auxiliară pentru a salva temporar o valoare înainte de a o suprascrie cu alta valoare. De exemplu, pentru interschimbarea valorilor variabilelor a și b, puteți utiliza următorul cod:
int temp = a ;
a = b ;
b = temp ;