#include <stdio.h>
#include <conio.h>
main()
{
int sayi, sayac,i ;
int ikilik[100];
printf("10'luk Tabaninda Sayi Giriniz : ");
scanf("%d", &sayi);
sayac=0;
while (sayi>0)
{
sayac++;
ikilik[sayac]= sayi % 2;
sayi = sayi / 2;
}
for(i=sayac;i>0;i--)
printf("%d", ikilik[i]);
}
arkadaşlar ben dizi bilmiyorum bunu özyinelemeli fonksiyon olarak nasıl yazarız
YanıtlaSilarkadaşlar hemen dönerseniz sevinirim
YanıtlaSil#include
YanıtlaSillong toBinary(int);
int main(){
long binaryNo;
int decimalNo;
printf("Enter any decimal number: ");
scanf("%d",&decimalNo);
binaryNo = toBinary(decimalNo);
printf("Binary value is: %ld",binaryNo);
return 0;
}
long toBinary(int decimalNo){
static long binaryNo,remainder,factor = 1;
if(decimalNo != 0){
remainder = decimalNo % 2;
binaryNo = binaryNo + remainder * factor;
factor = factor * 10;
toBinary(decimalNo / 2);
}
return binaryNo;
}
Yukarda ki kod işinizi görücektir.
verilen kaynak kod 0 sayısı için bir sonuç vermemektedir.
YanıtlaSilEğer kodun while kısmı şu şekilde düzeltilirse sorunsuz çalışır;
while (sayi>=0)
{
sayac++;
ikilik[sayac]= sayi % 2;
sayi = sayi / 2;
if(sayi==0) break;
}
Feedback için teşekkürler.
YanıtlaSil