ç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
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.