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).