Programlama Sorusu Acil Yardım
-
5) (25) m tabanında verilen iki sayının çarpımı istenmektedir. Bu çarpımı tekrarlamalı
(recursive) olarak yapan programı yazınız?
müridler ödev için lazım yardımcı olursanız çok sevinirim. programın recursive olması çok önemli.
-
Tam olarak kontrol etmedim gözden kaçan birşey varsa düzeltirim
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x = 5;
int y = 2;
int base = 5;
printf("%d ",multip(x, y , base));
return 0;
}
int multip(int x, int y, int base){
x = x*y;
y = 1;
if(x>= base)
return multip(x/base, y , base)*10+x%base;
else
return x;
} -
başka rakamlar verince yanlış sonuç veriyor program
-
candela15 bunu yazdı:
-----------------------------başka rakamlar verince yanlış sonuç veriyor program
-----------------------------hangi sayılar mesela ?
-
sayılara 23 ve 20 verince mesela cevap 1010 olmalı ama 3320 çıkıyor
-
5 tabanında 23*20 3320 dir zaten.
-
yok dostum yanlışın var 1010 dır sonuç
-
program 10 tabanında gelen iki sayının çarpımını istenilen tabanda veriyor sorun ondan
edit: multip fonsiyonunun düzeltilmiş hali aşağıdabiraz karıştı ama idare et malum vize öncesi.
int multip(int x, int y, int base){
x = x*y;
y = 1;
if(x>= base)
return multip(x/10+((x%10)/base), y , base)*10+(x%10)%base;
else
return x;
} -
eyvallah dostum çok işime yaradı.