Vector caracteristic
Vectorul caracteristic este util atunci când dorim să marcăm apariția unor date într-o listă, pentru a putea ține evidența aparițiilor. În general, el va conține valorile 0 și 1, marcând apariția (1), sau lipsa (0).
Cele mai comune rezolvări la care folosim vectorul caracteristic sunt acelea în care va trebui să verificăm apariția cifrelor din numere sau a numerelor (dacă nu sunt foarte multe).
Exemplu
Se citesc n numere naturale de 2 cifre. Să se afișeze cifrele care nu se află în componența niciunui număr.
#include <iostream>
using namespace std;
int n, C[10];
int main (){
int i,x;
cin>>n;
for(i=1; i<=n; i++){
cin>>x;
C[x%10]=1;
C[x/10]=1;
}
for(i=0; i<10; i++) if(!C[i]) cout<<i<<' ';
return 0;
}
5
20 33 23 54 40
1 6 7 8 9
7
12 24 55 79 88 52 92
0 3 6
Vectorul nostru declarat C va avea câte un spațiu pentru fiecare cifră. Vom modifica fiecare poziție corespunzătoare cifrelor numerelor citire cu 1, pentru a marca existența lor.
În final, vom afișa cifrele ale căror poziție a rămas liberă (valoarea 0).