Latihan C++ BAGIAN IV


Latihan 31 : Mencari Nilai Minimum dan Maksimum

/*

Mencari Nilai Minimum dan Maksimum

*/
#include<iostream>

using namespace std;

int main()
{
int a[10]={200,50,70,30,40,90,15,20,150,80};
int mak=a[0],min=a[0];
for(int i=1;i<10;i++)
{
if(a[i]<min)
min=a[i];
if(a[i]>mak)
mak=a[i];
}
cout<<"Nilai minimum : "<<min;
cout<<"\nNilai maksimum : "<<mak<<"\n\n";
system("pause");
}

/*Penjelasan :

Yang perlu diperhatikan adalah jumlah bilangan dalam array
terse but, contoh :
------------
int b[5]={100,200,300,400};
------------

dalam array tersebut hanya terdapat 4 bilangan sehingga
dapat dipastikan nilai minimumnya adalah 0.
Latihan 32 : Konstanta Array

Array juga dapat bersifat konstan. Berikut contoh programnya :


#include<iostream>

using namespace std;

int main()
{
const int x[5]={10,20,30,40,50};
for(int a;a<5;a++){
cout<<"x["<<a<<"] = "<<x[a];
cout<<endl;
}

//x[1]=10;
//tidak diperbolehkan oleh kompiler!
system("pause");
}

/*

WELCOME TO BLOG OKRI ADE I LIKE SHARE (www.OKRI-ADE.co.cc (
http://www.OKRI-ADE.blogspot.com)).

Latihan 33 : Mengenal Float dan Double

Kalau sebelumnya kita telah terbiasa dengan tipe data int untuk menyimpan bilangan bulat sekarang kita akan menggunakan float dan double untuk menyimpan bilangan real /nyata (memiliki nilai dibelakang koma).

Memory yang diperlukan untuk :
- int sebesar 16 bit (2 byte),
- float sebesar 32 bit ( 4 byte), dan
- double sebesar 64 bit ( 8 byte).

Float dan Double digunakan untuk program-program yang bersifat ilmiah atau yang program yang membutuhkan keakuratan nilai yang tinggi. Float memiliki 6 digit presisi sedangkan double memiliki 15 digit presisi.


#include<iostream>

using namespace std;

float x;
double y;

int main(int argc, char *argv[]){
x=10.5849387;
y=10.684932;
cout.precision(8);
cout<<"Nilai x = "<<x;
cout<<"\nNilai y = "<<y<<"\n\n";
system("pause");
}


Karena float hanya dapat menampung 6 digit presisi, maka hasil yang diperoleh / output yang diberikan akan menampilkan 6 nilai dibelakang koma. Sekarang coba ganti baris berikut :

...
cout.precision(8);
...

Menjadi :

...
cout.precision(12);
...

atau nilai keluaran presisi yang lebih tinggi dan lihat hasil output float.


Latihan 34 : typedef untuk Array

Dengan menggunakan typedef, array akan menjadi tipe data bentukan seperti halnya struktur dan enumerasi.


#include<iostream>
using namespace std;

int main(int argc, char *argv[])
{
typedef int aryku[6];
aryku A, B;
int c=0;

//mengisikan nilai
for(c=0;c<6;c++){
A[c]=c*100;
B[c]=c*50;
}

//keluaran untuk A
for(c=0;c<6;c++){
cout<<"A["<<c<<"] = "<<A[c]<<endl;
}
cout<<"\n\n";

//keluaran untuk B
for(c=0;c<6;c++){
cout<<"B["<<c<<"] = "<<B[c]<<endl;
}
cout<<"\n\n";
system("pause");
}


Dengan typedef ini kita dapat membuat array yang berjumlah sama dengan cepat, dibandingkan harus menuliskannya seperti dibawah ini.

...
int A[6];
int B[6];
int C[6];
int D[6];
...
Latihan 35 : Akar Pangkat dengan sqrt

Untuk menghitung pangkat suatu bilangan mungkin tidak menjadi masalah, tapi bagaimana untuk menghitung akar suatu bilangan. Mungkin akan repot, untuk itu kita gunakan saja fungsi pada file header <cmath> dan nama fungsinya adalah sqrt.


#include<iostream>
#include<cmath>

using namespace std;

int main(){
int x;
double y;
cout<<"Masukkan Nilai x = ";
cin>>x;
y=sqrt(x);
cout<<"\n\nAkar dari "<<x<<" = "<<y;
y=x*x;
cout<<"\nPangkat 2 dari "<<x<<" = "<<y<<"\n\n";
system("pause");
}

klo misalnya pake sqrt jangan lupa hasilnya d tampung ke variabel bertipe float ato double. Klo ga tar hasilnya d bulatkan ke bawah.
berikut source code untuk melihat perbandingan antara hasil dalam double dan hasil dalam integer


#include<iostream>
#include<cmath>

using namespace std;

int main(){
int x,y2,z2;
double y1,z1;

cout<<"Masukkan Nilai x = ";
cin>>x;

y1=sqrt(x);
//hasil dalam desimal
cout<<"\n\nAkar dari "<<x<<" = "<<y1;

y2=sqrt(x);
//hasil dalam bilangan bulat
cout<<"\n\nAkar dari "<<x<<" = "<<y2;


//pangkat 2 menggunakan perkalian biasa
//y bertipe double
z1=y1*y1;
cout<<"\nPangkat 2 dari "<<y1<<" = "<<z1<<"\n\n";

//y bertipe integer
z2=y2*y2;
cout<<"\nPangkat 2 dari "<<y2<<" = "<<z2<<"\n\n";

//pangkat 2 menggunakan pow
//pow(x,y) -> x pangkat y. x dan y harus bertipe double
z1=pow((double)y1,2.0);
cout<<"\nPangkat 2 dari "<<y1<<" = "<<z1<<"\n\n";
system("pause");
}

Latihan 36 : Menghitung Jumlah Karakter

Untuk menghitung jumlah karakter pada suatu string / kalimat kita dapat menggunakan fungsi strlen(). Berikut contohnya :


#include<iostream>
#include<string>

using namespace std;

int main(){
int a;

//membatasi jumlah karakter
char b[50];
cout<<"Masukkan sebuah kalimat : ";
cin.getline(b, sizeof(b));

//untuk menampung jumlah bilangan dibutuhkan tipe data untuk bilangan
a=strlen(b);
cout<<"Jumlah karakter : "<<a;

//proses terakhir
cout<<"\n\n";
system("pause");
return 0;
}

Latihan 37 : Membesarkan dan Mengecilkan String

Untuk membesarkan string kita gunakan strupr(variabel), dan untuk mengecilkannya kita gunakan strlwr(variabel).


#include<iostream>
#include<string>

using namespace std;

int main(){
//membatasi jumlah karakter
char a[50], b[50];
cout<<"Masukkan sebuah kalimat : ";
cin.getline(b, sizeof(b));

//Melakukan peng-copy-an string
strcpy(a,b);

//Membesarkan string
strupr(a);
cout<<"\nKalau hurufnya besar semua = "<<a;

//Mengecilkan string
strlwr(a);
cout<<"\nKalau hurufnya kecil semua = "<<a;

//proses terakhir
cout<<"\n\n";
system("pause");
return 0;
}
masukan nih... klo bisa sebaiknya gunakan type void untuk fungsi main.... takutnya kebiasaan... karena klo udah masuk OOP kadang menimbulkan warning n kadang malah error.... (gw pernah nemuin dulu error... cuma lupa errornya apa... maklum udah 2 tahun gk pegang c++) jadi kodenya seperti ini nih, jangan lupa return nya dihapus:

Latihan 37 : Membesarkan dan Mengecilkan String

Untuk membesarkan string kita gunakan strupr(variabel), dan untuk mengecilkannya kita gunakan strlwr(variabel).


#include<iostream>
#include<string>

using namespace std;

void main(){
//membatasi jumlah karakter
char a[50], b[50];
cout<<"Masukkan sebuah kalimat : ";
cin.getline(b, sizeof(b));

//Melakukan peng-copy-an string
strcpy(a,b);

//Membesarkan string
strupr(a);
cout<<"\nKalau hurufnya besar semua = "<<a;

//Mengecilkan string
strlwr(a);
cout<<"\nKalau hurufnya kecil semua = "<<a;

//proses terakhir
cout<<"\n\n";
system("pause");
}

tapi kalo suka pake int daripada void sih sebenarnya gk terlalu masalah...mungkin ada error tapi gk banyak kejadian pemicunya.

Latihan 38 : getch() dan getche()

Kalau sebelumnya sudah menggunakan getch() (Latihan 8) yang digunakan untuk meminta masukkan (seperti cin). Hanya saja getch() untuk meminta masukkan sebuah karakter (sekali tekan tombol) setelah itu langsung meneruskan proses selanjutnya. Sedangkan getche() akan menampilkan karakter yang dimasukkan setelah user menekan sebuah tombol. Kedua fungsi ini memerlukan file header conio.


#include <iostream>
#include <conio.h>
#include <string>

using namespace std;

int main(){
string kalimat = "Hasil 2 x 2 adalah ... \n (a). 3\n (b). 4\n (c). 5\n\nJawabannya adalah : ";

string kalimat2 = "Jawaban yang Anda masukkan adalah : ";
char karakter;
cout<<kalimat;

//penggunaan getch()
karakter = getch();
cout<<kalimat2<<karakter;
if(karakter == 'b' || karakter == 'B'){
cout<<"\nJawaban yang Anda masukkan BENAR";
}else{
cout<<"\nMaaf, coba lagi";
}

//penggunaan getcher()
cout<<"\n\n"<<kalimat;
karakter = getche();
cout<<kalimat2<<karakter;
if(karakter == 'b' || karakter == 'B'){
cout<<"\nJawaban yang Anda masukkan BENAR";
}else{
cout<<"\nMaaf, coba lagi";
}

cout<<"\n\n";
system("pause");
return 0;
}
Jika menggunakan percabangan swicth() bentuknya seperti berikut:

....
karakter = getche()
switch(karakter){
case 'a' :;
case 'A' :cout<<"Huruf a/A tertekan";break;
case 'B' :;
case 'b' :cout<<"Huruf b/B tertekan";break;
default : cout<<"Selain huruf a/A dan b/B;break;
}
.....
jika hanya menuliskan case 'a'.... maka saat user memasukkan huruf A maka default akan terseleksi.

Latihan 39 : Membersihkan Layar

Untuk membersihkan layar dapat menggunakan perintah 'system("pause")' dengan memanggil file header <iomanip>.


#include<stdio.h>
#include<iomanip>

int main(int argc, char *argv[]){
int x, y;
for(x=0;x<20;x++){
system("cls");
for(y=0;y<x;y++){

//membuat agar teks semakin kekanan
printf(" ");
}
printf("Teks berjalan");
}
printf("\n\n");
system("pause");
return 0;
}









sumber: http://www.videogamesindonesia.com/

1 komentar:

  1. Latihan C++ Bagian Iv - Okriade >>>>> Download Now

    >>>>> Download Full

    Latihan C++ Bagian Iv - Okriade >>>>> Download LINK

    >>>>> Download Now

    Latihan C++ Bagian Iv - Okriade >>>>> Download Full

    >>>>> Download LINK

    BalasHapus

Komentar Anda Menjadi Masukan Buat Saya, untuk Menjadi Lebih Baik...