NRP : 3120600043
Kelas : 1 D4 IT B
1. Write a swap() function with the following function header
void swap(int *p1, int *p2);
Jawab:
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
void swap(int *, int *);
int main(){
int x = 10; int y = 20;
puts("Before swap");
printf("x: %d, y: %d\n", x, y);
puts("");
swap(&x,&y);
puts("After swap:");
printf("x: %d, y: %d\n", x, y);
}
void swap(int *p1, int *p2)
{
int z;
z=*p1;
*p1=*p2;
*p2=z;
}
b. Output
Nama: Muhammad Ramadhan
NRP : 3120600043
Kelas : 1 D4 IT B
2) Probem 2
Dari program di bawah ini
a. Buatlah ilustrasi memory-nya
b. Tampilkan keluarannya
#include<stdio.h>
#define N 5
int *findMax(int[]);
main(){
int i,*p;
int arr[N];
for(i=0;i<N;i++) {
printf("Enter value %d:",i+1);
scanf("%d",&arr[i]);
}
p=findMax(arr);
printf("\nThe max value is: %d\n",*p);
}
int *findMax(int data[]){
int *max=data;
int i;
for(i=1;i<N;i++){
if(*max < *(max+i))
*max = *(max+i);
}
return max;
}
----------
Nama: Muhammad Ramadhan
NRP : 3120600043
Kelas : 1 D4 IT B
Nama: Muhammad Ramadhan
NRP : 3120600043
Kelas : 1 D4 IT B
a. Deklarasikan dua buah variabel bertipe point, misal titik1 & titik2
b. Pada main(), inputkan 2 buah titik koordinat sembarang pada 2 variabel di atas
c. Definisikan fungsi euclidiean() yang menerima parameter 2 buah titik. Hitung jarak antara 2
titik tsb dg menggunakan rumus phytagoras
Jawab:
a. Listing Program\
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct{
double x;
double y;
} point;
double euclidiean(point,point);
main()
{
double p;
point titik1;
point titik2;
printf("input titik x,y :");
scanf("%lf, %lf", &titik1.x,&titik1.y);
fflush(stdin);
printf("input titik x,y :");
scanf("%lf, %lf", &titik2.x,&titik2.y);
puts("");
p=euclidiean(titik1,titik2);
printf("\nJarak 2 kordinat adalah %1f",euclidiean(titik1,titik2));
}
double euclidiean(point a, point b)
{
double c;
c = sqrt(pow((b.x -a.x), 2) + pow((b.y -a.y), 2));
return c;
}
b. Output
Nama: Muhammad Ramadhan
NRP : 3120600043
Kelas : 1 D4 IT B
struct times{
int hour;
int minute;
int second;
};
int main()
{
struct times dtk;
struct times dtk_berikut;
printf("Masukkan jam sekarang (hh-mm-ss)\t: ");
scanf("%d-%d-%d", &dtk.hour, &dtk.minute,
&dtk.second);
}
if(dtk.second==60)
{
if(dtk.minute == 60)
{
dtk_berikut.second =0;
dtk_berikut.minute =0;
dtk_berikut.hour = dtk.hour+1;
}
else
{
dtk_berikut.second = 0;
dtk_berikut.minute = dtk.minute+1;
dtk_berikut.hour = dtk.hour;
}
}
else
{
dtk_berikut.second = dtk.second+1;
dtk_berikut.minute = dtk.minute;
dtk_berikut.hour = dtk.hour;
}
b. Output