Struktur data
1. Buatlah program untuk mencari nilai minimum dari 10 buah bilangan bulat yang diinputkan oleh user.
Jawab:
#include <iostream>
using namespace std;
int main()
{
int x [10];
int min;
cout<<“Masukkan 10 angka : “<< endl;
for (int i = 1;i<=10;i++)
{
cout<<“Bilangan ke-“<<i<<” : “;
cin>>x[i];
cout<<endl;
if (i==1)
{min=x[1];}
else
{
if (x[i]<min)
{min=x[i];}
}
}
cout<<“Bilangan minimum adalah : “<<min<<endl;
system(“pause”);
}
2. Buatlah program untuk mencari nilai maksimum dari N buah bilangan bulat yang diinputkan oleh user.
Jawab:
#include <iostream>
using namespace std;
int main()
{
int x [10];
int max,a;
cout<<“Jumlah bilangan yang akan dibandingkan : “;
cin>>a;
cout<<“\nMasukkan ke-“<<a<<” bilangan tersebut : “<< endl;
for (int i = 1;i<=a;i++)
{
cout<<“Bilangan ke-“<<i<<” : “;
cin>>x[i];
cout<<endl;
if (i==1)
{max=x[1];}
else
{
if (x[i]>max)
{max=x[i];}
}
}
cout<<“Bilangan maximum adalah : “<<max3<<endl;
system(“pause”);
}
3. Buatlah program dengan struct untuk menginputkan sejumlah data mahasiswa yang terdiri dari NIM, NAMA dan IPK, kemudian menampilkannya data yang sudah diinputkan tersebut dalam bentuk table dengan kolom NIM, NAMA, dan IPK.
Jawab:
#include <iostream.h>
#include <iomanip.h>
struct mhs
{
char NIM[11];
char NAMA[30];
float IPK;
};
typedef mhs mhsarr[3];
int main()
{
mhsarr x;
for (int i=0;i<3;i++)
{
cout<<“\nNIM : “;
cin>>x[i].NIM;
cout<<“NAMA: “;
cin>>x[i].NAMA;
cout<<“IPK : “;
cin>>x[i].IPK;
cout<<endl;
}
cout<<“\n|”<<setw(13)<<“NIM |”;
cout<<setw(32)<<“NAMA |”<<setw(7)<<“IPK |”<<endl;
for (int i=0;i<3;i++)
{
cout<<” |”<<setw(11)<<x[i].NIM<<” |”;
cout<<setw(30)<<x[i].NAMA<<” |”;
cout<<setw(5)<<x[i].IPK<<” |”<<endl;
}
system(“pause”);
}
4. Buatlah program dengan struct untuk menampilkan NIM dan NAMA mahasiswa yang mempunyai IPK tertinggi dari soal nomor 1 di atas..
Jawab:
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
struct mhs
{
char NIM[11];
char NAMA[30];
float IPK;
};
typedef mhs mhsarr[3];
int main()
{
mhsarr x;
float max=1;
int y;
for (int i=0;i<3;i++)
{
cout<<“\nNIM : “;
cin>>x[i].NIM;
cout<<“NAMA: “;
cin>>x[i].NAMA;
cout<<“IPK : “;
cin>>x[i].IPK;
cout<<endl;
}
cout<<“|”<<setw(13)<<“NIM |”<<setw(32)<<“NAMA |”<<setw(7)<<“IPK |”<<endl;
for (int i=0;i<3;i++)
{
cout<<“|”<<setw(11)<<x[i].NIM<<” |”<<setw(30)<<x[i].NAMA<<” |”<<setw(5)<<x[i].IPK<<” |”<<endl;
if (x[i].IPK > max)
{max=x[i].IPK;
y=i;}
}
cout<<“\nIPK Tertinggi adalah”<<endl;
cout<<“NIMĀ : “<<x[y].NIM<<endl;
cout<<“Nama : “<<x[y].NAMA<<endl;
cout<<“IPKĀ : “<<x[y].IPK<<endl;
system(“pause”);
5. Buatlah program dengan struct untuk menginputkan dua buah titik dalam koordinat 3D dan menampilkan panjang atau jarak kedua titik tersebut.
Jawab:
#include <iostream>
#include <math.h>
using namespace std;
struct ko
{
int x;
int y;
int z;
};
typedef ko koor[2];
int main()
{
koor k;
float d,dx,dy,dz;
for (int i=1;i<=2;i++)
{
cout<<“Masukkan koordinat titik ke-“<<i<<” : “<<endl;
cout<<” X : “;
cin>>k[i].x;
cout<<” Y : “;
cin>>k[i].y;
cout<<” Z : “;
cin>>k[i].z;
cout<<endl;
}
dx=(k[1].x-k[2].x)*(k[1].x-k[2].x);
dy=(k[1].y-k[2].y)*(k[1].y-k[2].y);
dz=(k[1].z-k[2].z)*(k[1].z-k[2].z);
d=sqrt(dx+dy+dz);
cout<<“Jarak kedua titik adalah sejauh “<<d<<endl;
system(“pause”);
}
Hasil: