Berikut codingnya :
#include <iostream>
#include <sstream>
#include <stack>
#include <limits>
#include <string>
using namespace std;
int a(char p)
{
int temp;
if (p=='^')
{
temp=1;
}
else if (p=='*'||p=='/')
{
temp=2;
}
else if (p=='+'||p=='/-')
{
temp=3;
}
return temp;
}
int main()
{
string infix;
cout<<"Input infix? = ";
getline(cin,infix);
stack<char>opr_stack;
stringstream postfix;
for (unsigned i=0;i<infix.length();i++)
{
if (infix[i]=='+'||infix[i]=='-'||infix[i]=='*'||infix[i]=='/'||infix[i]=='^')
{
while (!opr_stack.empty()&&a(opr_stack.top())<=a(infix[i]))
{
postfix<<opr_stack.top();
opr_stack.pop();
}
opr_stack.push(infix[i]);
}
else if (infix[i]=='(')
{
opr_stack.push(infix[i]);
}
else if (infix[i]==')')
{
while (opr_stack.top()!='(')
{
postfix<<opr_stack.top();
opr_stack.pop();
}
opr_stack.pop();
}
else
{
postfix<<infix[i];
}
}
while (!opr_stack.empty())
{
postfix<<opr_stack.top();
opr_stack.pop();
}
cout<<"Postfix = "<<postfix.str()<<endl;
cin.ignore(numeric_limits<streamsize>::max(),'\n');
return 0;
}
Preview :
Anonymous Blogger
Selasa, 14 Maret 2017
Program C++ fungsi queue
Berikut codingnya :
#include <iostream>
#define max_stack 15
#include <stdlib.h>
#include <conio.h>
using namespace std;
struct queue
{ int head;
int tail;
int data [15];
int tampung;
};
queue antri;
void enqueue(int d)
{
antri.head=1;
antri.tail++;
antri.data[antri.tail]=d;
cout<<"data berhasil dimasukkan";
getch();
}
void dequeue()
{ cout<< "data "<<antri.data[antri.head]<<" terambil";
for (int i=antri.head;i<=antri.tail;i++)
{
antri.data[i]=antri.data[i+1];
}
antri.tail--;
getch();
}
int isEmpty()
{ if (antri.tail==0)
{
antri.head=0; return 1;
}
else
{
return 0;
}
getch();
}
int isFull()
{ if (antri.tail==max_stack)
return 1;
else
return 0;
getch();
}
void clear()
{
antri.head=antri.tail=0;
cout<<"semua data terhapus.";
}
void print()
{
int j;
for (int i=0;i<=antri.tail;i++)
{
antri.tampung=antri.data[i];
j=i-1;
while (antri.data[j]>antri.tampung&&j>=0)
{
antri.data[j+1]=antri.data[j];
j--;
}
antri.data[j+1]=antri.tampung;
}
for (int i=1;i<=antri.tail;i++)
{
cout<<antri.data[i]<<"\n";
}
getch();
}
int main()
{
int a;
int input;
do
{
system("cls");
cout<<"menu:\n1.enqueue\n2.dequeue\n3.clear\n4.print\n5.terminate\npilihan : ";
cin>>a;
switch (a)
{
case 1:if (isFull()==1)
{
cout<<"Stack Penuh"<<endl;
getch();
}
else
{
cout<<"Masukkan Data : ";
cin>>input;
enqueue(input);
}
break;
case 2:if (isEmpty()==1)
{
cout<<"Kosong"<<endl;
getch();
}
else
{
dequeue();
}
break;
case 3: clear();
cout<<"Stack Kosong";
getch();
break;
case 4: if (isEmpty()==1)
{
cout<<"Stack Kosong";
getch();
}
else
{
print();
}
}
}while(a!=5);
return 0;
}
Preview :
#include <iostream>
#define max_stack 15
#include <stdlib.h>
#include <conio.h>
using namespace std;
struct queue
{ int head;
int tail;
int data [15];
int tampung;
};
queue antri;
void enqueue(int d)
{
antri.head=1;
antri.tail++;
antri.data[antri.tail]=d;
cout<<"data berhasil dimasukkan";
getch();
}
void dequeue()
{ cout<< "data "<<antri.data[antri.head]<<" terambil";
for (int i=antri.head;i<=antri.tail;i++)
{
antri.data[i]=antri.data[i+1];
}
antri.tail--;
getch();
}
int isEmpty()
{ if (antri.tail==0)
{
antri.head=0; return 1;
}
else
{
return 0;
}
getch();
}
int isFull()
{ if (antri.tail==max_stack)
return 1;
else
return 0;
getch();
}
void clear()
{
antri.head=antri.tail=0;
cout<<"semua data terhapus.";
}
void print()
{
int j;
for (int i=0;i<=antri.tail;i++)
{
antri.tampung=antri.data[i];
j=i-1;
while (antri.data[j]>antri.tampung&&j>=0)
{
antri.data[j+1]=antri.data[j];
j--;
}
antri.data[j+1]=antri.tampung;
}
for (int i=1;i<=antri.tail;i++)
{
cout<<antri.data[i]<<"\n";
}
getch();
}
int main()
{
int a;
int input;
do
{
system("cls");
cout<<"menu:\n1.enqueue\n2.dequeue\n3.clear\n4.print\n5.terminate\npilihan : ";
cin>>a;
switch (a)
{
case 1:if (isFull()==1)
{
cout<<"Stack Penuh"<<endl;
getch();
}
else
{
cout<<"Masukkan Data : ";
cin>>input;
enqueue(input);
}
break;
case 2:if (isEmpty()==1)
{
cout<<"Kosong"<<endl;
getch();
}
else
{
dequeue();
}
break;
case 3: clear();
cout<<"Stack Kosong";
getch();
break;
case 4: if (isEmpty()==1)
{
cout<<"Stack Kosong";
getch();
}
else
{
print();
}
}
}while(a!=5);
return 0;
}
Preview :
Senin, 27 Februari 2017
Program c++ untuk mencari bilangan ganjil dan genap dalam suatu array
Oleh Muh. Izhar Akhirul Safar E1E1 15 080 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo
Berikut codingnya :
#include <iostream>
using namespace std;
int main()
{
int y;
int t=0;
int q=0;
cout << "Masukkan jumlah data yang diinginkan : ";cin>>y;
int a[y];
for (int b=0;b<y;b++) //looping menginput data ke array
{
cout<<"Masukkan data untuk indeks ["<<b<<"] : ";cin>>a[b];
}
cout<<endl;
for (int b=0;b<y;b++) //looping display data
{
cout<<"Array indeks["<<b<<"] = "<<a[b]<<endl;
}
cout<<endl;
cout<<"Data yang bernilai genap : "<<endl;
for (int b=0;b<y;b++) //looping cek data bernilai genap
{
if (a[b]%2==0)
{
cout<<"Array indeks["<<b<<"] = "<<a[b]<<endl;
t++;
}
}
if (t==0) //jika tak ada data genap
{
cout<<"Tak ditemukan data bernilai genap"<<endl;
}
cout<<endl;
cout<<"Data yang bernilai ganjil : "<<endl;
for (int b=0;b<y;b++) //looping cek data bernilai ganjil
{
if (a[b]%2==1)
{
cout<<"Array indeks["<<b<<"] = "<<a[b]<<endl;
q++;
}
}
if (q==0) //jika tak ada data ganjil
{
cout<<"Tak ditemukan data bernilai ganjil"<<endl;
}
return 0;
}
Preview :
Program c++ untuk menghitung jumlah huruf konsonan dan vokal pada kalimat yang diinput
Oleh Muh. Izhar Akhirul Safar E1E1 15 080 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo
Berikut codingnya :
#include <iostream>
using namespace std;
int main()
{
string a;
int o=0;
int j=0;
int m=0;
int l=0;
string c;
cout <<"Input : ";getline(cin,a); //inputtan menggunakan getline, agar karakter "spasi" dapat dibaca pada c++
cout<<"Output : "<<endl;
cout<<"Vokal : ";
for (int z=0;z<a[z];z++) //looping menghitung jumlah huruf pada kalimat inputan
{
o++;
}
for (int g=0;g<o;g++) //looping cek total huruf vokal
{
if (a[g]=='a'||a[g]=='i'||a[g]=='u'||a[g]=='e'||a[g]=='o'||a[g]=='A'||a[g]=='I'||a[g]=='U'||a[g]=='E'||a[g]=='O')
{
j++;
}
}
if (j>0) //jika paling tidak ada 1
{
cout<<j<<" = ";
for (int g=0;g<o;g++)
{
if (a[g]=='a'||a[g]=='i'||a[g]=='u'||a[g]=='e'||a[g]=='o'||a[g]=='A'||a[g]=='I'||a[g]=='U'||a[g]=='E'||a[g]=='O')
{
cout<<a[g]<<" ";
}
}
}
else //jika tak ada sama sekali
{
cout<<"Tak ada...";
}
cout<<endl;
cout<<"Konsonan : ";
for (int g=0;g<o;g++) //looping menghitung jumlah huruf konsonan
{
if (a[g]=='b'||a[g]=='c'||a[g]=='d'||a[g]=='f'||a[g]=='g'||a[g]=='h'||
a[g]=='j'||a[g]=='k'||a[g]=='l'||a[g]=='m'||a[g]=='n'||a[g]=='p'||
a[g]=='q'||a[g]=='r'||a[g]=='s'||a[g]=='t'||a[g]=='v'||a[g]=='w'||
a[g]=='x'||a[g]=='y'||a[g]=='z'||a[g]=='B'||a[g]=='C'||a[g]=='D'||
a[g]=='F'||a[g]=='G'||a[g]=='H'||a[g]=='J'||a[g]=='K'||a[g]=='L'||
a[g]=='M'||a[g]=='N'||a[g]=='P'||a[g]=='Q'||a[g]=='R'||a[g]=='S'||
a[g]=='T'||a[g]=='V'||a[g]=='W'||a[g]=='X'||a[g]=='Y'||a[g]=='Z')
{
m++;
}
}
if (m>0) //jika paling tidak ada 1
{
cout<<m<<" = ";
for (int g=0;g<o;g++)
{
if (a[g]=='b'||a[g]=='c'||a[g]=='d'||a[g]=='f'||a[g]=='g'||a[g]=='h'||
a[g]=='j'||a[g]=='k'||a[g]=='l'||a[g]=='m'||a[g]=='n'||a[g]=='p'||
a[g]=='q'||a[g]=='r'||a[g]=='s'||a[g]=='t'||a[g]=='v'||a[g]=='w'||
a[g]=='x'||a[g]=='y'||a[g]=='z'||a[g]=='B'||a[g]=='C'||a[g]=='D'||
a[g]=='F'||a[g]=='G'||a[g]=='H'||a[g]=='J'||a[g]=='K'||a[g]=='L'||
a[g]=='M'||a[g]=='N'||a[g]=='P'||a[g]=='Q'||a[g]=='R'||a[g]=='S'||
a[g]=='T'||a[g]=='V'||a[g]=='W'||a[g]=='X'||a[g]=='Y'||a[g]=='Z')
{
cout<<a[g]<<" ";
}
}
}
else //jika tak ada sama sekali
{
cout<<"Tak ada...";
}
cout<<endl;
cout<<"Masukkan data yang akan anda cari : ";cin>>c;
cout<<endl;
cout<<"Data yang anda cari adalah --> "<<c[0]<<endl;
//mengingat data string itu adalah data menyimpan karakter perblok, jadi blok yang kita pakai cukup blok 0 alias blok yang menyimpan karakter paling awal yang diinput
for (int g=0;g<o;g++) //looping mengitung jumlah data yang sama dengan data yang dicari
{
if (a[g]==c[0])
{
l++;
}
}
cout<<endl;
if (l>0) //jika ada
{
cout<<"Data ditemukan, sebanyak "<<l<<" data";
}
else //jika tidak ada
{
cout<<"Data tak ditemukan.... ";
}
return 0;
}
Preview :
Program c++ pencari data dalam array dimensi 2
Oleh Muh. Izhar Akhirul Safar E1E1 15 080 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo
Berikut codingnya :
#include <iostream>
using namespace std;
int main()
{ int x,y,c;
int bendera=0;
int j=0;
int p=0;
cout << "Masukkan jumlah kolom : ";cin>>x; //lebar array
cout<<"Masukkan jumlah baris : ";cin>>y; //panjang array
int a[y][x];
for (int b=0;b<y;b++) //looping input data
{
for (int n=0;n<x;n++)
{
cout<<"Masukkan data untuk indeks ["<<b<<"]"<<"["<<n<<"] ";cin>>a[b][n];
}
}
for (int b=0;b<y;b++) //looping output matriks
{ cout<<endl;
for (int n=0;n<x;n++)
{
cout<<a[b][n]<<" ";
}
}
cout<<endl;
cout<<endl;
cout<<"Masukkan data yang ingin dicari : ";cin>>c;
cout<<endl;
for (int b=0;b<y;b++) //looping pencari data yang dicari
{
for (int n=0;n<x;n++)
{
if (a[b][n]==c)
{
bendera=1;
j++;
}
}
}
if (bendera==1) //jika ditemukan
{
cout<<"Data "<<c<<" ditemukan pada posisi";
for (int b=0;b<y;b++)
{
for (int n=0;n<x;n++)
{
if (a[b][n]==c)
{ p++;
if (p>1)
{
cout<<",";
}
cout<<" ["<<b<<"]"<<"["<<n<<"]";
}
}
}
cout<<"...jadi total data yang ditemukan sebanyak "<<j<<" data";
}
else //jika tidak
{
cout<<"Data tak ditemukan";
}
return 0;
}
Preview :
Senin, 20 Februari 2017
Program c++ untuk menghitung keliling dan luas lingkaran dengan menggunakan struct berisi data static
Berikut codingnya :
#include <iostream>
#include <conio.h>
#define phi 3.14
using namespace std;
struct lingkaran{ //dalam c++, pendeklarasian data bertipe static dalam struct, variabel dalam struct harus dibuat static secara satu per satu
static float jari2;
static float keliling;
static float luas;
};
float lingkaran::jari2; //lalu kemudian diinisialisasikan seperti penulisan disamping, guna menjadi patokan untuk penulisan data bertipe static yang ada dalam struct.
float lingkaran::keliling;
float lingkaran::luas;
void luasLingkaran(){ //void untuk mengeluarkan hasil dari penghitungan luas lingkaran
lingkaran::luas = lingkaran::jari2 * lingkaran::jari2 * phi;
cout<<"\nLuas lingkaran = "<<lingkaran::luas;
}
float kelLingkaran(float j){ //ini merupakan float untuk nilai keliling lingkaran
return 2*phi*lingkaran::jari2;
}
int main(){
cout<<"Jari-jari = ";cin>>lingkaran::jari2;
luasLingkaran(); //pemanggilan void luas lingkaran tadi
lingkaran::keliling = kelLingkaran(lingkaran::jari2); //menampilkan isi dalam float kellingkaran tadi, nilainya dimasukkan ke variabel keliling dalam struct
cout<<"\nKeliling lingkaran = "<<lingkaran::keliling;
getch();
}
Preview :
#include <iostream>
#include <conio.h>
#define phi 3.14
using namespace std;
struct lingkaran{ //dalam c++, pendeklarasian data bertipe static dalam struct, variabel dalam struct harus dibuat static secara satu per satu
static float jari2;
static float keliling;
static float luas;
};
float lingkaran::jari2; //lalu kemudian diinisialisasikan seperti penulisan disamping, guna menjadi patokan untuk penulisan data bertipe static yang ada dalam struct.
float lingkaran::keliling;
float lingkaran::luas;
void luasLingkaran(){ //void untuk mengeluarkan hasil dari penghitungan luas lingkaran
lingkaran::luas = lingkaran::jari2 * lingkaran::jari2 * phi;
cout<<"\nLuas lingkaran = "<<lingkaran::luas;
}
float kelLingkaran(float j){ //ini merupakan float untuk nilai keliling lingkaran
return 2*phi*lingkaran::jari2;
}
int main(){
cout<<"Jari-jari = ";cin>>lingkaran::jari2;
luasLingkaran(); //pemanggilan void luas lingkaran tadi
lingkaran::keliling = kelLingkaran(lingkaran::jari2); //menampilkan isi dalam float kellingkaran tadi, nilainya dimasukkan ke variabel keliling dalam struct
cout<<"\nKeliling lingkaran = "<<lingkaran::keliling;
getch();
}
Preview :
Program c++ input info login user dengan struct
Berikut codingnya :
#include <iostream>
#include <conio.h>
using namespace std;
struct Date{
int dd;
int mm;
int yyyy;
};
struct Time{
int h;
int m;
int s;
};
struct Login{ //struct untuk mengakumulasikan struct time dan date
int ID;
Date tglLogin;
Time waktuLogin;
};
int main(){
Login user[2]; //struct login dideklarasikan menjadi variabel baru yang bersifat array
for(int i=0;i<2;i++){ //looping untuk menginput dan menampilkan data
cout<<"USER ke-"<<i+1<<endl;
cout<<"ID : ";cin>>user[i].ID;
cout<<"Tanggal Login\n";
cout<<"Tanggal : ";cin>>user[i].tglLogin.dd; //cara menginputkan data pada struct, titik berfungsi untuk menspesifikasikan variabel mana yang akan diinput data
cout<<"Bulan : ";cin>>user[i].tglLogin.mm;
cout<<"Tahun : ";cin>>user[i].tglLogin.yyyy;
cout<<"Waktu Login\n";
cout<<"Jam : ";cin>>user[i].waktuLogin.h;
cout<<"Menit : ";cin>>user[i].waktuLogin.m;
cout<<"Detik : ";cin>>user[i].waktuLogin.s;
cout<<"Terimakasih Atas Pengisiannya\n";
cout<<"\nData User ke-:"<<i+1<<endl; //menampilkan data yang telah diinput
cout<<"Login ID : "<<user[i].ID<<endl;
cout<<"Login Date : "<<user[i].tglLogin.dd<<" "<<user[i].tglLogin.mm<<" "<<user[i].tglLogin.yyyy<<endl;
cout<<"Login Time : "<<user[i].waktuLogin.h<<" "<<user[i].waktuLogin.m<<" "<<user[i].waktuLogin.s<<endl;
}
getch();
}
Preview :
#include <iostream>
#include <conio.h>
using namespace std;
struct Date{
int dd;
int mm;
int yyyy;
};
struct Time{
int h;
int m;
int s;
};
struct Login{ //struct untuk mengakumulasikan struct time dan date
int ID;
Date tglLogin;
Time waktuLogin;
};
int main(){
Login user[2]; //struct login dideklarasikan menjadi variabel baru yang bersifat array
for(int i=0;i<2;i++){ //looping untuk menginput dan menampilkan data
cout<<"USER ke-"<<i+1<<endl;
cout<<"ID : ";cin>>user[i].ID;
cout<<"Tanggal Login\n";
cout<<"Tanggal : ";cin>>user[i].tglLogin.dd; //cara menginputkan data pada struct, titik berfungsi untuk menspesifikasikan variabel mana yang akan diinput data
cout<<"Bulan : ";cin>>user[i].tglLogin.mm;
cout<<"Tahun : ";cin>>user[i].tglLogin.yyyy;
cout<<"Waktu Login\n";
cout<<"Jam : ";cin>>user[i].waktuLogin.h;
cout<<"Menit : ";cin>>user[i].waktuLogin.m;
cout<<"Detik : ";cin>>user[i].waktuLogin.s;
cout<<"Terimakasih Atas Pengisiannya\n";
cout<<"\nData User ke-:"<<i+1<<endl; //menampilkan data yang telah diinput
cout<<"Login ID : "<<user[i].ID<<endl;
cout<<"Login Date : "<<user[i].tglLogin.dd<<" "<<user[i].tglLogin.mm<<" "<<user[i].tglLogin.yyyy<<endl;
cout<<"Login Time : "<<user[i].waktuLogin.h<<" "<<user[i].waktuLogin.m<<" "<<user[i].waktuLogin.s<<endl;
}
getch();
}
Preview :
Langganan:
Komentar (Atom)