(C++) Tamsayı bölme ve kalan


Tamsayı bölme ve kalan

"Aritmetik ifadeler" modülünde C++ dilinde bölme işleminin özelliklerinden bahsettik.
Tamsayı verileri için (int türü) iki bölme işleminin kullanılabileceğini hatırlayın.
/ - tamsayı bölme, bölme işlemi sonucunda kesirli kısmı attığımız zaman.
% - bir bölme işleminin kalanının hesaplanması.
 
Hatırlamanız gerekiyor!
C ve C++'da, bir tam sayıyı bir tam sayıya bölmenin sonucu – her zaman bir tamsayıdır, bölme sırasında kalan atılır.
 

Örnek
int a,b; bir = 10; b = 3; int c = a / b; // Cevap: c = 3 int d = a%b; // Cevap: d = 1
Bu işlemler programlamada çok önemlidir. Doğru anlaşılmaları ve kullanılmaları gerekir. 

Pratik yapın, daha çok kodlayın ve başaracaksınız!

 

Bir sayının basamaklarını hesapla

Bir sayının rakamlarıyla çalışırken bölme işleminin kalanını hesaplama işleminin uygulanması ihtiyacı görünür. 
 
Görev
Üç basamaklı bir sayı verilir. Bu sayının tüm rakamlarını görüntüleyin ve birimlerin ve yüzlerin sıralanmasıyla oluşan yeni bir sayı elde edin.

Yeni başlayanlar için ortaya çıkan en zor soru, bir sayıyı oluşturan basamaklara nasıl bölüneceğidir.
Aslında, matematiği hatırlarsanız, her şey oldukça basit bir şekilde çözülür. Ve matematik bize herhangi bir sayının basamaklı terimlerin toplamına ayrıştırılabileceğini söyler.
Örneğin: 365=3*100+6*10+5*1 . Her basamağın, sayının ilgili basamağının çarpanı olduğunu görüyoruz. 
Bir sayının her basamağını nasıl ayrı bir değişkene dönüştüreceğimizi gösterelim. Bölme prosedürünü göz önünde bulundurun  10 sayısıyla 365 sayısının bir sütunu (10 sayısını alıyoruz, çünkü ondalık bir sayı sistemimiz var ve buna göre 1, 10, 100 vb. basamak terimlerimiz var).
  

Şekli analiz ettikten sonra şunu görebilirsiniz:
  e = n % 10; // işlem n % 10 - n sayısının son basamağını (yani birler basamağını) hesaplar   // %365 10 = 5 d = n / %10 10; // işlem n / 10 - sayıyı 10 kat azaltır,   // yani sayının son basamağını atar (365 / 10 = 36), // artık bilinen işlemi sonuca uygulayarak onlar basamağını hesaplayabiliriz   // - 10 sayısına bölündükten sonra kalanı hesaplayın, %36 10 = 6 s = n / 100; // yüzler basamağını elde etmek için sayının sağından iki haneyi atmak yeterlidir,   // yani iki kez 10'a bölün (n / 10 /10 veya n / 100 ile aynı) 365 / 100 = 3
Numaranın tüm rakamlarını aldıktan sonra, istenen rakamı karşılık gelen rakamla çarparak bunlardan başka bir numara yapabiliriz: & nbsp; örneğin, aşağıdaki satır, orijinal n sayısından, yüzlerce ve birler yeniden düzenlenmiş yeni bir sayı alacaktır:
1) birim sayısı ( e değişkeninde saklanan)  çarpı 100
2) onlar basamağı (d değişkeninde saklanır)   10 ile çarpın; 
3) Yüzler basamağını 1 ile çarpabiliriz veya basitçe s değişkeninde saklanan değeri alabiliriz;
Ardından 1, 2 ve 3 noktalarındaki değerler eklenmeli ve yeni bir sayı elde edelim: n1 = e * 100 + d * 10 + s; Tüm program şöyle görünecek:
  #includeiostream> ad alanı std kullanarak; ana() { int n, e, d, s; cin>> N; e = n % 10; d = n / %10 10; s = n / 100; cout