Ok, riutilizzando i tuoi codici ho scritto questo
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int bitdati,n,i,j,num;
printf ("Inserisci numero bit dati = ");
scanf("%d", &bitdati);
n=1;
while (pow(2,n)<bitdati)
{
n++;
}
printf ("Bit di controllo = %d", n);
bool* vet=new bool[n]; // Vettore che conterra' l'immagine binaria
for(i=0;i<=bitdati;i++){ //per ogni numero <= a quello inserito...
printf("\nPosizione numero %d = \t", i); //stampo posizione
num = i; //setta array
for (j = n; j > 0; j--) {
vet[j - 1] = num % 2;
num /= 2;
}
for(j=0;j<n;j++) //stampo l'array
{
printf("%d",vet[j]);
}
}
free(vet); //dealloca vet
}
Così a me funzia, se nn capisci qualcosa dimmi.
ps: dealloca la memoria alla fine del programma