Struktur Data Array ( Menara )

Mata Kuliah Struktur Data


Petunjuk Pengerjaan


1. Kerjakan soal di bawah ini dalam satu file ber-ekstensi *.cpp dengan nama Tugas1_Kelas_NIM, contoh untuk mahasiswa dari kelas Z dengan Nomor Induk Mahasiswa 5150411999 maka nama file yang dibuat adalah: Tugas1_Z_5150411999.cpp.


2. Nama file yang tidak sesuai dengan format seperti tertera pada poin 1, akan mendapatkan pengurangan nilai.


Deskripsi Soal


Untuk mempersiapkan sebuah event, William selaku kepala divisi dekorasi berniat untuk membangun sebuah menara yang akan digunakan sebagai hiasan gapura. Menara ini dibangun menggunakan balok-balok dengan berbagai ukuran. 


William memiliki N buah balok. Balok ke-i memiliki dimensi A[i] × B[i] × C[i]. Balok-balok tersebut akan ditumpuk-tumpuk hingga membentuk menara.


William ingin tahu, berapa tinggi menara paling tinggi yang mungkin dibentuk, serta tinggi menara paling rendah yang mungkin dibentuk jika semua balok dipakai dalam penyusunan menara. Dalam penyusunannya, balok-balok tersebut boleh diputar sesuai keinginan. 


William memberikan tugas kepada Anda (sebagai wakil kepala divisi) untuk mencari tahu hal tersebut.


Format Masukan Program


Baris pertama berisi sebuah bilangan bulat N. N baris berikutnya masing-masing berisi tiga buah bilangan bulat A[i], B[i], dan C[i].


Format Keluaran Program


Keluarkan sebuah baris berisi dua buah bilangan bulat L dan H. L menyatakan tinggi menara minimum, dan H menyatakan tinggi menara maksimum.


Contoh Masukan Program


Contoh Keluaran Program







Penyelesaan : 



Syntax :


#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

#include <windows.h>

void main()

{

system(“COLOR A”);

int jml,bal[20][3],min[20],max[20];

int pendek=0,tinggi=0;

int a=1,b=3;

cout<<“”;cin>>jml;

for (int i=0;i<jml;i++)

   {

   for (int j=0;j<3;j++)

    {

      gotoxy(a,b);

cin>>bal[i][j];

      gotoxy(a+=2,b);

    }

   a=1;

   gotoxy(a,b++);

   }


for (int i=0;i<jml;i++)

{

min[i]=bal[i][0];

max[i]=bal[i][0];

for (int j=0;j<3;j++)

   {

if(bal[i][j]<min[i])

      {

        min[i]=bal[i][j];

      }

   else

   if(bal[i][j]>max[i])

      {

        max[i]=bal[i][j];

      }

   }

pendek=pendek+min[i];

tinggi=tinggi+max[i];

}


clrscr();

system(“COLOR B”);

cout<<pendek<<setw(3)<<tinggi;

getch();

}


Output dari Syntax di atas :



Terima Kasih sudah berkunjung. 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s