Last active
December 1, 2016 15:21
-
-
Save Arsfiqball/e7bdc34d4c709ae44cdc8a4f2dc7e5ec to your computer and use it in GitHub Desktop.
Kode c++ untuk pembagian, tanpa menggunakan operator pembagian.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
int main(int argc, char const *argv[]) | |
{ | |
int b, p, h, b_negative, p_negative; | |
printf("Masukan bilangan yang akan dibagi: "); | |
scanf("%d", &b); | |
printf("Masukan bilangan yang pembagi: "); | |
scanf("%d", &p); | |
// jika pembaginya 0 | |
if (p == 0) | |
{ | |
// beri tahu jika itu tidak bisa | |
printf("Ga bisa bego!\n"); | |
// lalu hentikan program (penghentian dini) | |
return 0; | |
} | |
// jika yang akan dibagi adalah 0 | |
if (b == 0 && p != 0) | |
{ | |
// hasilnya akan 0 | |
h = 0; | |
printf("Hasilnya: %d\n", h); | |
// sisanya juga 0 | |
printf("Sisanya: %d\n", b); | |
// lalu hentikan program (penghentian dini) | |
return 0; | |
} | |
// default states | |
b_negative = false; | |
p_negative = false; | |
h = 0; | |
// jika ternyata b negatif | |
if (b < 0) | |
{ | |
b_negative = true; | |
b = abs(b); | |
} | |
// jika ternyata p negatif | |
if (p < 0) | |
{ | |
p_negative = true; | |
p = abs(p); | |
} | |
// mulai pembagian | |
while(b >= p) { | |
b = b - p; | |
h++; | |
} | |
// jika b negatif | |
if (b_negative) | |
{ | |
// hasil kali -1 | |
h = h*(-1); | |
} | |
// jika p negatif | |
if (p_negative) | |
{ | |
// hasil kali -1 | |
h = h*(-1); | |
} | |
// tampilkan hasil | |
printf("Hasilnya: %d\n", h); | |
// tampilkan sisa | |
printf("Sisanya: %d\n", b); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment