- Home »
- Pemrograman »
- Belajar C++ Searching Array
Untuk tugas kali ini adalah membuat program menggunakan bahasa C++ dengan materi pencarian dalam array...
Soal
JAWABAN
1. Array 2 Dimensi
Soal pertama ini, program yang akan di buat tentang array 2 dimensi. dimana user akan menentukan besar kecil array tersebut dan mengisi manual semua isi array. Setelah itu, data-data tersebut ditampilkan agar user dapat melihat datanya.Setelah penginputan tersebut selesai, program akan mengulang 2 kali untuk melakukan pencarian data yang diinput oleh user dimana akan menampilkan data yang di dapat beserta letak indexnya.
Kodingan
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int a,b,i,j;
cout<<"Masukkan panjang baris : ";
cin>>a;
cout<<"Masukkan panjang kolom : ";
cin>>b;
cout<<endl;
int x[a][b];
for(i=0;i<a;i++)
for(j=0;j<b;j++)
{
cout<<"Masukkan array ["<<i<<"]["<<j<<"] : ";
cin>>x[i][j];
}
cout<<endl;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
cout<<x[i][j]<<" ";
}
cout<<endl;
}
int cari, index;
bool ada=false;
for(int k=0; k<2;k++)
{
cout<<"\nCari data : ";
cin>>cari;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
if(x[i][j]==cari)
{
cout<<"Data "<<cari<<" Berada pada posisi ["<<i<<"]["<<j<<"]\n\n";
ada=true;
}
}
}
if(!ada)
cout<<"Data tidak ada \n\n";
ada=false;
}
getch();
return 0;
}
#include <conio.h>
using namespace std;
int main()
{
int a,b,i,j;
cout<<"Masukkan panjang baris : ";
cin>>a;
cout<<"Masukkan panjang kolom : ";
cin>>b;
cout<<endl;
int x[a][b];
for(i=0;i<a;i++)
for(j=0;j<b;j++)
{
cout<<"Masukkan array ["<<i<<"]["<<j<<"] : ";
cin>>x[i][j];
}
cout<<endl;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
cout<<x[i][j]<<" ";
}
cout<<endl;
}
int cari, index;
bool ada=false;
for(int k=0; k<2;k++)
{
cout<<"\nCari data : ";
cin>>cari;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
if(x[i][j]==cari)
{
cout<<"Data "<<cari<<" Berada pada posisi ["<<i<<"]["<<j<<"]\n\n";
ada=true;
}
}
}
if(!ada)
cout<<"Data tidak ada \n\n";
ada=false;
}
getch();
return 0;
}
Hasil
2. Pemisahan Huruf
Program selanjutnya, membuat program yang menginput kata-kata. kemudian kata tersebuat akan di pisah-pisahkan mana yang huruf vokal dan mana yang konsonan beserta masing-masing jumlahnya.Kodingan
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int i, j, jml=0;
string data;
string vokal[]={"a","i","u","e","o"};
bool ada=false;
cout<<"Masukkan data : ";
getline(cin,data);
for(i=0; i<data.length(); i++)
{
jml++;
}
string vok[jml], kon[jml], D[jml];
int x=0,y=0;
for(i=0;i<jml;i++)
{
D[i]=data[i];
}
for(i=0;i<jml;i++)
{
for(j=0;j<5;j++)
{
if(D[i]==vokal[j])
{
vok[x]=D[i];
ada=true;
x++;
}
}
if(ada==false)
{
if(D[i]!=" ")
{
kon[y]=D[i];
y++;
}
}
ada=false;
}
cout<<"\nVokal = "<<x<<" = ";
for(i=0;i<x;i++)
cout<<vok[i]<<" ";
cout<<"\n\nKonsonan = "<<y<<" = ";
for(i=0;i<y;i++)
cout<<kon[i]<<" ";
string cari;
bool add=false;
cout<<"\n\nMasukkan data yang ingin dicari : ";
cin>>cari;
for(i=0;i<jml;i++)
{
if(D[i]==cari)
{
cout<<"Data ditemukan ";
add=true;
break;
}
}
if(add==false)
cout<<"Data tidak ditemukan ";
getch();
return 0;
}
#include <conio.h>
using namespace std;
int main()
{
int i, j, jml=0;
string data;
string vokal[]={"a","i","u","e","o"};
bool ada=false;
cout<<"Masukkan data : ";
getline(cin,data);
for(i=0; i<data.length(); i++)
{
jml++;
}
string vok[jml], kon[jml], D[jml];
int x=0,y=0;
for(i=0;i<jml;i++)
{
D[i]=data[i];
}
for(i=0;i<jml;i++)
{
for(j=0;j<5;j++)
{
if(D[i]==vokal[j])
{
vok[x]=D[i];
ada=true;
x++;
}
}
if(ada==false)
{
if(D[i]!=" ")
{
kon[y]=D[i];
y++;
}
}
ada=false;
}
cout<<"\nVokal = "<<x<<" = ";
for(i=0;i<x;i++)
cout<<vok[i]<<" ";
cout<<"\n\nKonsonan = "<<y<<" = ";
for(i=0;i<y;i++)
cout<<kon[i]<<" ";
string cari;
bool add=false;
cout<<"\n\nMasukkan data yang ingin dicari : ";
cin>>cari;
for(i=0;i<jml;i++)
{
if(D[i]==cari)
{
cout<<"Data ditemukan ";
add=true;
break;
}
}
if(add==false)
cout<<"Data tidak ditemukan ";
getch();
return 0;
}
Hasil
3. Pemisahan Angka
Di program terakhir ini, user akan memasukkan data-data. dimana data-data ini akan dipisah-pisahkan antara genap dan ganjil.Kodingan
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int mdat,i,j;
cout<<"Masukkan jumlah data : ";
cin>>mdat;
int A[mdat], genap[mdat][2], ganjil[mdat][2], a=0, b=0;
string cari;
for(i=0; i<mdat; i++)
{
cout<<"Masukkan Data ke-"<<i+1<<" : ";
cin>>A[i];
}
cout<<"Tekan 'Enter' untuk memulai mencari angka ganjil dan genap\n\n";
getch();
for(i=0;i<mdat;i++)
{
if(A[i]%2==0)
{
genap[a][0]=A[i];
genap[a][1]=i;
a++;
}
else
{
ganjil[b][0]=A[i];
ganjil[b][1]=i;
b++;
}
}
cout<<"Data Genap \n";
for(i=0;i<a;i++)
cout<<i+1<<". Index ke-"<<genap[i][1]<<" = "<<genap[i][0]<<endl;
cout<<"\nData Ganjil \n";
for(i=0;i<b;i++)
cout<<i+1<<". Index ke-"<<ganjil[i][1]<<" = "<<ganjil[i][0]<<endl;
return 0;
}
#include <conio.h>
using namespace std;
int main()
{
int mdat,i,j;
cout<<"Masukkan jumlah data : ";
cin>>mdat;
int A[mdat], genap[mdat][2], ganjil[mdat][2], a=0, b=0;
string cari;
for(i=0; i<mdat; i++)
{
cout<<"Masukkan Data ke-"<<i+1<<" : ";
cin>>A[i];
}
cout<<"Tekan 'Enter' untuk memulai mencari angka ganjil dan genap\n\n";
getch();
for(i=0;i<mdat;i++)
{
if(A[i]%2==0)
{
genap[a][0]=A[i];
genap[a][1]=i;
a++;
}
else
{
ganjil[b][0]=A[i];
ganjil[b][1]=i;
b++;
}
}
cout<<"Data Genap \n";
for(i=0;i<a;i++)
cout<<i+1<<". Index ke-"<<genap[i][1]<<" = "<<genap[i][0]<<endl;
cout<<"\nData Ganjil \n";
for(i=0;i<b;i++)
cout<<i+1<<". Index ke-"<<ganjil[i][1]<<" = "<<ganjil[i][0]<<endl;
return 0;
}
Hasil