çok acil c programlama ödevi için yardımınıza ihtiyacım var. ilgilenenler lütfen özelden mesaj atsın
c programlama ödev sorusu
İstediğin programın linki ; http://s3.dosya.tc/server13/wuy9am/yardim2.rar.html
#include
#include
int basamakSayisi(int sayi);
void artiYaz(int sayi);
void farkliYaz(int sayi);
char toArray(int number);
int main()
{
int a; //girilen sayı
printf("Bir tamsayı giriniz");
scanf("%d",&a);
printf("Basamak sayisi metodu Çalışıyor \n");
printf("%d",basamakSayisi(a));
printf("\nartiYaz metodu çalışıyor\n");
artiYaz(a);
printf("\nFarkli Yaz metodu Çalışıyor \n");
farkliYaz(a);
}
int basamakSayisi(int sayi)
{
return floor(log10(abs(sayi))) + 1;
}
void artiYaz(int sayi)
{
int sayac=0;
for(;sayac<=sayi;sayac++)
{
printf("+");
}
/* int sayac =0;
int dur = basamakSayisi(sayi);
for(;sayac<=dur;sayac++)
{
printf("+");
}*/
}
void farkliYaz(int sayi)
{
int basamaksayisi=basamakSayisi(sayi);
char array[basamaksayisi];//basamak sayisi kadar alan açtık
sprintf( array, "%d", sayi ); //integer to char
int say[basamaksayisi]; //kaç basamak sayisi varsa okadar dizi alanı açtık
int sayac=0; //sayac oluşturduk
for(;sayac<=basamaksayisi;sayac++)
{
say[sayac]=(sayi-(sayi%(int)(pow(10,sayac))))%(int)(pow(10,sayac+1));
}
int sayac2=0;
for(;sayac2<basamaksayisi;sayac2++)
{
printf( "%c => %d tane + \n", array[sayac2],say[sayac2]);
}
}
Basamaklarına ayıran , sayı değeri kadar artı yazan , sayının basamak sayısını döndüren , ve basamak değeri kadar artı yazan program.
Kolay gelsin...
Nereyi değiştirmem gerektiğini biraz açık yazabilir misiniz? Bu konularda biraz acemiyim de kusura bakmayın. Teşekkür ederim şimdiden değerli vaktinizi aldığım için
Nereyi değiştirmem gerektiğini biraz açık yazabilir misiniz? Bu konularda biraz acemiyim de kusura bakmayın. Teşekkür ederim şimdiden değerli vaktinizi aldığım içfor(;sayac2<basamaksayisi;sayac2++)
{
printf( "%c => %d tane + \n", array[sayac2],say[sayac2]);
}burada ki printf'i değiştirmelisiniz %d tane dedği say[sayac2] den gelir say[sayac2] kadar + yazdıracaksınız.