Stack with ADT

slide1slide2slide3slide4

Lanjutkan Membaca –>

Advertisements

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.