Arkadaşlar kafam durdu sanki benim. Hiç bulamadım nasıl yazacağım. Daha loop'ları yeni öğrendik, çok basit soru aslında.

Girilen sayının tersini 3 katını alacak program... 123 girildiyse 321*3=963 çıkacak program. 543 girilince 345*3=1035 çıkacak. Nasıl yazılır ki bu? kafam karıştı.


 

Şimdi C hakkında hiç bir fikrim yok, eğer mod( bir sayıya bölümünden kalanı bulma) alma özelliği varsa kolayca yapabilirsin tersini almayı.
a ilk sayı olsun atıyorum xyz
a=xyz
b= mod10 a = z
c= a-b=xy0
d= mod100 c =y0
e= c-d= x00
f=d/10=y
g=e/100=x
şimdi sayı değerlerini xyz olarak bulduğumuza göre sonucu bulabiliriz
h= 300*b+30*f+3*g=3*zyx

burada her işlemi adım adım yapmana gerek yok, örneğin d ye direk (mod100 c)/10 yazarak değişken miktarını azaltabilirsin.

umarım yardımcı olmuştur.

Varmış mod operatörü: www.cprogramming.com

edit: eğer basamak sayısı belirsizse bunu uygun hale getirip bir for döngüsü içine koymalısın sanırım.

yakuza123

Önce basamak sayısını bulmalısın. Ondan sonra simetrisini almak kolay.

heritage

Basamak sayısı belli olsa belki yapabilirdim ama arkadaşın yardımı ve bu site sayesinde halletim. Sağolun.

www.programmingsimplified.com

aguilas negras
1

mobil görünümden çık