Scriverti la soluzione completa senza neppure un tentativo non mi sembra corretto.
Se la soluzione è la (2) si risolve in 3 righe.
Ho usato unsigned char invece di char per non avere numeri negativi.
Ho passato l'array come parametro per non usare malloc.
Ti posso solo dire che nella parte che lascio a te basta usarecodice:void riempi_array(unsigned char n, unsigned char array[8]) { int i; for (i = 0; i < 8; i++) array[i] = QUESTA RIGA LA PUOI COMPLETARE TU }
l'operatore XOR e di shift.
Ciao.