Skip to content

Instantly share code, notes, and snippets.

@Arsfiqball
Last active December 1, 2016 15:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Arsfiqball/e7bdc34d4c709ae44cdc8a4f2dc7e5ec to your computer and use it in GitHub Desktop.
Save Arsfiqball/e7bdc34d4c709ae44cdc8a4f2dc7e5ec to your computer and use it in GitHub Desktop.
Kode c++ untuk pembagian, tanpa menggunakan operator pembagian.
#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