#include <stdio.h>
int main () {
int a, b;
printf("Inserisci 0 o un intero positivo a : ");
scanf("%d", &a);
printf("Inserisci 0 o un intero positivo b maggiore o uguale ad a : ");
scanf("%d", &b);
int k;
printf("Inserisci k uguale a 0 o a un numero positivo : ");
scanf("%d", &k);
int i; int n1=0; int numbers=0;
for(i=a; i<=b; i++){
int n=i, r;
for( ;n>0; ){
r=n%2;
if(r==1) n1++;
n=n/2;
}
if(n1==k) numbers++;
}
printf("Tra %d e %d convertiti in binario %d numeri hanno k 1\n", a, b, numbers);
system("PAUSE");
return 0;
}
Skynet, eccoti il codice che ho scritto fino ad ora... Questo però non è il codice della funzione, ma il codice di un programma che fà la stessa cosa richiesta dalla funzione. Il fatto è che alla fine del programma la variabile numbers non ha il valore che dovrebbe avere...
Qualcuno sa dirmi il perchè?