soal 1.
Buatlah program untuk mencari data pada array 2 dimensi (opsional: tambahkan kode program untuk memberi inputan data dan ukuran array,) Contoh data array:
1 3 2
10 5 8
15 24 10
yang dicari: 24
output : data 24 berada pada posisi [2][1]
yang dicari: 2
output: data 2 berada pada posisi [0][2]
petunjuk: gunakan sequential search, karena data tidak diurutkan, terdapat 2 looping untuk proses pencarian.
soal 2.
Buat program untuk mencari data berupa huruf pada inputan yang berupa kalimat. (Opsional: hitung jumlah konsonan, dan vokal).
soal 3.
Buat program untuk mencari bilangan ganjil dan bilangan genap dari data angka yang diinputkan oleh user (opsional: berikan indeks untuk setiap data yang ditemukan).
PEMECAHAN MASALAH
soal 1.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
cout<<"SOAL NO 1"<<endl;
cout<<"+----------------------+"<<endl;
cout<<"|Muh. Budi Dharmawan P |"<<endl;
cout<<"|E1E1 15 034 |"<<endl;
cout<<"+----------------------+\n"<<endl;
ulang://untuk kembali memasukkan matrix
cout<<"\n=====================***=======================\n"<<endl;
int baris,kolom,i,j,cari,flag=0;
cout<<"Masukan panjang matrikx : ";cin>>baris;
cout<<"Masukan lebar matrix : ";cin>>kolom;
cout<<endl;
int mtrx[baris][kolom];
for ( i=0;i<baris;i++)
{
for ( j=0;j<kolom;j++)
{
cout<<"Masukan nilai matrix ["<<i<<"]["<<j<<"] : ";cin>>mtrx[i][j];
}
}
cout<<"\nMATRIX ANDA : "<<endl;
for ( i=0;i<baris;i++)
{
cout<<endl;
for ( j=0;j<kolom;j++)
{
cout<<"\t"<<mtrx[i][j]<<"\t";
}
cout<<endl;
}
char tanya;
cout<<"\nApakah anda ingin mengganti data ? (y/n) : ";cin>>tanya;
if (tanya=='n')
{
cout<<"\nMasukan nilai yang dicari : ";cin>>cari;
for ( i=0;i<baris;i++)
{
for ( j=0;j<kolom;j++)
{
if(mtrx[i][j]==cari)
{
flag=1;
}
if(flag==1)
cout<<"\nData "<<cari<<" ditemukan pada index["<<i<<"]["<<j<<"]";
}
}
if(flag!=1)
cout<<"\nData tidak ada...";
}
else
{
goto ulang;
}
goto ulang;
getch();
return 0;
}
soal 2.
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int main()
{
cout<<"SOAL NO 2"<<endl;
cout<<"+----------------------+"<<endl;
cout<<"|Muh. Budi Dharmawan P |"<<endl;
cout<<"|E1E1 15 034 |"<<endl;
cout<<"+----------------------+\n"<<endl;
ulang://untuk kembali inputan kata kembali, namun masih tidak berfungsi sesuai harapan
cout<<"\n=====================***=======================\n"<<endl;
int vokal=0, konsonan=0, spasi=0, flag=0, i, batas;
char kata[2000],cari;
cout <<"Input : "; gets(kata);
cout <<"Output : "<<endl;
for(i=0;i<kata[i];i++)
{
if(kata[i]=='a'||kata[i]=='i'||kata[i]=='u'||kata[i]=='e'||kata[i]=='o') {
vokal++;
}
else if(kata[i]==' '){
spasi++;
}
else
konsonan++;
}
cout<<endl;
cout<<"\tVocal = "<<vokal<<" = ";
for(i=0;i<kata[i];i++)
{
if(kata[i]=='a'||kata[i]=='i'||kata[i]=='u'||kata[i]=='e'||kata[i]=='o')
{
cout<<kata[i]<<" ";
}
}
cout<<endl;
cout<<"\tKonsonan = "<<konsonan<<" = ";
for(i=0;i<kata[i];i++)
{
if(kata[i]=='a'||kata[i]=='i'||kata[i]=='u'||kata[i]=='e'||kata[i]=='o'){
cout<<"";
}
else if(kata[i]==' '){
cout<<"";
}
else
cout<<kata[i]<<" ";
}
cout<<endl;
char tanya;
cout<<"\nApakah anda ingin mengganti kata/kalimat? (y/n) : ";cin>>tanya;
if (tanya=='n')
{
cout<<"\n\tMasukkan data yang akan anda cari : "; cin>>cari;
for(i=0;i<kata[i];i++)
{
if(kata[i]==cari)
flag=1;
}
if(flag==1)
{
cout<<"\tData ditemukan!";
}
else
{
cout<<"\tData tidak ada...\n";
}
}
else
{
goto ulang;//pada perulangan ini tidak bekerja sesuai harapan, masih ada kesalahan penggunaan kode
}
getch();
return 0;
}
soal 3.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
cout<<"SOAL NO 3"<<endl;
cout<<"+----------------------+"<<endl;
cout<<"|Muh. Budi Dharmawan P |"<<endl;
cout<<"|E1E1 15 034 |"<<endl;
cout<<"+----------------------+\n"<<endl;
ulang://untuk kembali memasukkan matrix
cout<<"\n=====================***=======================\n"<<endl;
int data[100],batas,ganjil[100],genap[100],jil[100],nap[100];
int a=0,b=0;
string pilih,tanya;
cout<<"Masukkan batas memory : ";cin>>batas;
cout<<"\nMasukkan angka anda!\n";
for(int i=0;i<batas;i++)
{
cout<<"\tmemory "<<i<<" = ";cin>>data[i];
}
cout<<"Angka yang anda miliki : "<<endl;
for(int i=0;i<batas;i++)
{
cout<<"\t"<<data[i];
}
for(int i=0;i<batas;i++)
{
if(data[i]%2==0)
{
genap[b]=data[i];
nap[b]=i;
b++;
}
else
{
ganjil[a]=data[i];
jil[a]=data[i];
a++;
}
}
cout<<"\nUbah data? (y/n) : ";cin>>tanya;
if (tanya=="y")
{
goto ulang;
}
else
{
cout<<"\n\nApakah anda ingin mencari data ganjil? (y/n): ";cin>>pilih;
if(pilih=="y"||pilih=="yes"||pilih=="Y")
{
cout<<"\n\tBilangan ganjil anda"<<endl;
if(a<1)
{
cout<<"\tData tidak ditemukan...";
}
else
for(int i=0;i<a;i++)
{
cout<<"\tIndex ke-"<<jil[i]-1<<" : "<<ganjil[i]<<endl;
}
}
if(pilih=="n"||pilih=="no"||pilih=="N")
{
cout<<"\n\tbilangan genap anda"<<endl;
if(b<1)
{
cout<<"\tData di temukan!"<<endl;
}
else
for(int i=0;i<b;i++)
{
cout<<"\tIndex ke-"<<nap[i]<<" : "<<genap[i]<<endl;
}
}
}
goto ulang;
getch();
return 0;
}
Tidak ada komentar:
Posting Komentar