Selasa, 18 Januari 2011

Kalkulator Sederhana

Berikut adalah simple calculator di C++. Emang sih masih sederhana banget, tinggal kembangin aja..


//CREATED by andryh4ever
//Gretz BORNEOCREW
#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
char n,ja;
double bil1,bil2,ha;
cout << "===============================================================================\n";
cout << " SIMPLE CALCULATOR by andryh4ever";
cout << "\n===============================================================================\n";
borneo:

cout << "\n\n1. UNTUK PENJUMLAHAN";
cout << "\n2. UNTUK PENGURANGAN";
cout << "\n3. UNTUK PERKALIAN";
cout << "\n4. UNTUK PEMBAGIAN";

cout << "\n\n\nSILAHKAN MASUKKAN KODE YANG ANDA INGINKAN = ";
cin >> n;
switch (n)
{
case '1' : cout << "\nMASUKKAN BILANGAN 1 = ";
cin >> bil1;
cout << "MASUKKAN BILANGAN 2 = ";
cin >> bil2;
ha = bil1 + bil2;
cout << "\n\nHASILNYA = "; cout << ha;
break;
case '2' : cout << "\nMASUKKAN BILANGAN 1 = ";
cin >> bil1;
cout << "MASUKKAN BILANGAN 2 = ";
cin >> bil2;
ha = bil1 - bil2;
cout << "\n\nHASILNYA = "; cout << ha;
break;
case '3' : cout << "\nMASUKKAN BILANGAN 1 = ";
cin >> bil1;
cout << "MASUKKAN BILANGAN 2 = ";
cin >> bil2;
ha = bil1 * bil2;
cout << "\n\nHASILNYA = "; cout << ha;
break;
case '4' : cout << "MASUKKAN BILANGAN 1 = ";
cin >> bil1;
cout << "MASUKKAN BILANGAN 2 = ";
cin >> bil2;
ha = bil1 / bil2;
cout << "\n\nHASILNYA = "; cout << ha;
break;
default : cout << "ANDA SALAH MEMASUKKAN KODE ^.^";
break;
}
cout << "\n\n\nAPAKAH ANDA INGIN MENGULANG?? [Y/N] : ";
cin >> ja;
if ( ja == 'Y' || ja == 'y')
{
goto borneo;
}
else
{
cout << "\n\nTERIMA KASIH ^.^";
}

}







SimpleCalculator




Rabu, 12 Januari 2011

Magic Square.cpp

Berikut adalah source program Magic Square. Pasti udah tau kan Magic Square itu apa'an. Magic Square adalah suatu permainan angka yang kalo kita jumlahkan secara diagonal, horizontal maupun vertikal akan menghasilkan angka yang sama. Berikut Sourcenya :


#include <iostream>
#include <iomanip>

using namespace std;

int ReadSquareSize();
void OddMagicSquare(int** matrix, int n);
void DoublyEvenMagicSquare(int** matrix, int n);
void SinglyEvenMagicSquare(int** matrix, int n);
void MagicSquare(int** matrix, int n);
int** CreateMatrix(int n);
void FreeMatrix(int** matrix, int n);

int main(int argc, char* argv[])
{
int i,n;
n = ReadSquareSize();

int** matrix = CreateMatrix(n);

MagicSquare(matrix, n);

// print the square
for(int i=0; i<n ;i++)
{
for(int j=0; j<n ; j++)
{
cout<<setiosflags(ios::left) << setw (5) << matrix[i][j];
}
cout<<endl;
}

FreeMatrix(matrix,n);

return 0;
}


int ReadSquareSize()
{
int x;
cout<<"Enter a positive integer square size of 3 or more: ";
while(1)
{
cin>>x;
if(x>=3)
{
return x;
}
else
{
cout<<"Enter a positive integer square size of 3 or more: ";
}
}
cout<<endl;
}

void MagicSquare(int** matrix,int n)
{
if (n%2==1) //n is Odd
OddMagicSquare(matrix, n);
else //n is even
if (n%4==0) //doubly even order
DoublyEvenMagicSquare(matrix, n);
else //singly even order
SinglyEvenMagicSquare(matrix, n);
}

void OddMagicSquare(int** matrix, int n)
{
int nsqr = n * n;
int i=0, j=n/2; // start position

for (int k=1; k<=nsqr; ++k)
{
matrix[i][j] = k;

i--;
j++;

if (k%n == 0)
{
i += 2;
--j;
}
else
{
if (j==n)
j -= n;
else if (i<0)
i += n;
}
}
}

void DoublyEvenMagicSquare(int** matrix, int n)
{
int i, j;

int** I = CreateMatrix(n);
int** J = CreateMatrix(n);


//prepare I, J
int index=1;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
I[i][j]=((i+1)%4)/2;
J[j][i]=((i+1)%4)/2;
matrix[i][j]=index;
index++;
}

for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
if (I[i][j]==J[i][j])
matrix[i][j]=n*n+1-matrix[i][j];
}

FreeMatrix(I,n);
FreeMatrix(J,n);

}

void SinglyEvenMagicSquare(int** matrix, int n)
{
int i, j, k, index=0;

int p=n/2;

int** M = CreateMatrix(p);

MagicSquare(M, p);

for (i=0; i<p; i++)
for (j=0; j<p; j++)
{
matrix[i][j]=M[i][j];
matrix[i+p][j]=M[i][j]+3*p*p;
matrix[i][j+p]=M[i][j]+2*p*p;
matrix[i+p][j+p]=M[i][j]+p*p;
}

if (n==2)
return;

int* I = new int[p];
int* J = new int[n];

for (i=0; i<p; i++)
I[i]=i+1;

k=(n-2)/4;

for (i=1; i<=k; i++)
J[index++] = i;

for (i=n-k+2; i<=n; i++)
J[index++] = i;

int temp;
for (i=1; i<=p; i++)
for (j=1; j<=index; j++)
{
temp=matrix[i-1][J[j-1]-1];
matrix[i-1][J[j-1]-1]=matrix[i+p-1][J[j-1]-1];
matrix[i+p-1][J[j-1]-1]=temp;
}

//j=1, i
//i=k+1, k+1+p
i=k;
j=0;
temp=matrix[i][j]; matrix[i][j]=matrix[i+p][j]; matrix[i+p][j]=temp;

j=i;
temp=matrix[i+p][j]; matrix[i+p][j]=matrix[i][j]; matrix[i][j]=temp;

FreeMatrix(M,p);
delete[] I;
delete[] J;

}


int** CreateMatrix(int n)
{
int i;
int** matrix = new int* [n];
for(i=0;i<n;i++)
{
matrix[i] = new int[n];
}
return matrix;
}


void FreeMatrix(int** matrix, int n)
{
for(int i=0; i<n ;i++)
{
delete[] matrix[i];
}
free(matrix);
}

Screenshoot :




MagicSquare




Bookmark and Share
CopyRight © 2010 - 2011 by spyc0dz
=[ BorneoCrew ]=