Program Menghitung Jarak Manhattan Bahasa C/C++

2 min read

Contoh Program Array Perkalian Matriks Bahasa C C++

Contoh Program Menghitung Jarak Manhattan Bahasa C/C++. Pada artikel kali ini kita akan menghitung jarak dari suatu titik menuju suatu titik lainnya pada suatu sistem koordinat kartesius dengan menyusuri bagian vertikal dan horizontal, tanpa pernah kembali. Secara sederhana, sama dengan jumlah dari selisih absis dan selisih ordinat.

Dengan kata lain, jarak Manhattan adalah | x1-x2 | + | y1-y2 |

Kasus di sini Pak dengklek ingin pergi dari koordinat (x1, y1) menuju (x2,y2). Kemudian kita disuruh untuk menentukan jarak Manhattan yang harus ditempuh oleh pak dengklek.

Di atas merupakan contoh soal yang harus kita pecahkan masalahnya ke dalam sebuah program. Goal dari programnya adalah menampilkan jarak Manhattan yang akan ditempuh pak dengklek.

Jika Anda merasa sedikit kesulitan untuk membuat program di atas dalam bahasa c, Anda bisa menggambarkan dulu masalahnya ke dalam sebuah notasi algoritma.

Dalam kasus ini kita bisa menggunakan dua cara, yaitu dengan menggunakan tipe data bentukan dan tidak menggunakan tipe data bentukan. Bagi Anda yang belum belajar tentang tipe data bentukan, silahkan pelajari source code yang tidak menggunakan tipe data bentukan.

Program Menghitung Titik Koordinat Bahasa C/C++

Contoh Program Menghitung Titik Koordinat Bahasa C/C++

Pada format masukan berisi empat bilangan bulat yang kita isi kedalam variabel x1,y1,x2 dan y2.

Berikut contoh source code menghitung titik koordinat dengan rumus diatas yang tidak menggunakan tipe data bentukan.

#include <stdio.h>

int main () {
	int x1,y1,x2,y2;
	int hasil;
	
	printf("Masukan X1 : ");scanf("%d", &x1);
	printf("Masukan y1 : ");scanf("%d", &y1);
	printf("Masukan X2 : ");scanf("%d", &x2);
	printf("Masukan y2 : ");scanf("%d", &y2);
	hasil = (x1-x2)+(y1-y2);
	if (hasil<=0) {
		hasil=hasil*-1;
		printf("%i", hasil);
	} else {
		printf("%i", hasil);
	}
}

Pada program ini hasilnya tidak boleh minus karena dalam rumus merupakan nilai mutlak | x1-x2 | + | y1-y2 |. Maka pada bagian code ini,

if (hasil<=0) {
		hasil=hasil*-1;
		printf("%i", hasil);
	} else {
		printf("%i", hasil);
}

Jika hasilnya kurang dari 0 atau minus, maka dikali dengan -1 jadi hasilnya positif.

Untuk program menghitung titik koordinat menggunakan tipe data bentukan dan fungsi, begini source codenya.

#include <stdio.h>

struct Titik1 {
	int x1,y1;
};
struct Titik2 {
	int x2,y2;
};

int Hitung(int a, int b){
	int c=0;
		c = (a+b);
	if (c<0) {
		c=c*-1;
	}
	return c;
}

int main() {
	struct Titik1 T1;
	struct Titik2 T2;
	int a=0,b=0;
	scanf("%d %d", &T1.x1, &T1.y1);
	scanf("%d %d", &T2.x2, &T2.y2);
	a = (T1.x1-T2.x2);
	b = (T1.y1-T2.y2);
	printf("Hasilnya Adalah: ");
	printf("%d ", Hitung(a,b));
}

Source code diatas merupakan source code yang sudah menggunakan tipe data bentukan dan fungsi. Bisa saja kita tidak menggunakan keduanya untuk memecahkan masalah di atas. Namun, untuk sebuah pelajaran tidak ada salahnya kita mencoba-coba banyak hal yang ada dalam programming.

Penutup

Nah itulah contoh Program Menghitung Titik Koordinat Bahasa C/C++ menggunakan tipe data bentukan, fungsi dan tanpa menggunakan keduanya. Semoga bermanfaat dan menambah wawasan Anda. Have a nice day!

GubukTekno

Tinggalkan Balasan