c – problema em separar numeros por tipo em vetor


por exemplo temos um vetor (0,128,0,255)
tenho que fazer outro vetor que dividisse esse por tipos, na mesma ordem,como 0 recebesse tipo 1, 128 recebesse 2, e proximo 0 recebesse 1, 255 tipo 3.. ficaria (1,2,1,3)

tentei isso e nao deu certo :

for(i=0;i<tamanho;i++){
if(i==0)
vx(i)=1;
if(i<3 && i!=0 && vx(i)<vetor(i+1))
vx(i) = i-1;
if(i<3 && i!=Niguais-1 && (i!=0 && vx(i)>vetor(i-1)))
vx(i) = i+1;
if(i==tamanho-1)
vx(i) = i;
if(i>3)
vx(i) = verificaiguais(vx,i-1);

}