Saturday, June 30, 2007

SD: Unguided 29 Juni 2007

/*karena format HTML, maka semua karakter lebih besar (>) dan lebih kecil (<) diganti dengan karakter ((>)) dan ((<)) sorry (^-^)*/
//File header.h

//file header.h

#include (<)stdio.h(>)
#include (<)conio.h(>)
#include (<)stdlib.h(>)
#include (<)time.h(>)
#define max 11

typedef struct{
int element[max][max];
int row;
int column;
}allmat;

void input(allmat *a);
void tampilgenap(allmat a);
void tampilganjil(allmat a);
float totalelement(allmat a);
void jumlah(allmat a);


//file definition.c

#include "header.h"

void input(allmat *a)
{
int i,j,k,x;
srand((unsigned)time(NULL));
printf("Jumlah baris matriks : ");scanf("%d",&(*a).row);
printf("Jumlah kolom matriks : ");scanf("%d",&(*a).column);
for(i=0;i(<)(*a).row;i++)
{
for(j=0;j(<)(*a).column;j++)
{
x=rand()%10;
(*a).element[i][j]=x;
}
printf("\n");
}
for(k=0;k(<)(*a).row;k++)
{
for(j=0;j(<)(*a).column;j++)
{
printf("%5d ",(*a).element[k][j]);
}
printf("\n");
}
printf("\n\n");
}

void tampilgenap(allmat a)
{
int j,k,sub=0;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
if(a.element[k][j]%2==0)
printf("%5d ",a.element[k][j]);
else
printf("%5d ",sub);
}
printf("\n");
}
printf("\n\n");
}

void tampilganjil(allmat a)
{
int j,k,sub=1;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
if(a.element[k][j]%2!=0)
printf("%5d ",a.element[k][j]);
else
printf("%5d ",sub);
}
printf("\n");
}
printf("\n\n");
}

float totalelement(allmat a)
{
int j,k;
float tot=0;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
tot=tot+a.element[k][j];
}
}
return tot/(float)(k*j);
}

void jumlah(allmat a)
{
int j,k,genap=0,ganjil=0;
float tot=0;
for(k=0;k(<)a.row;k++)
{
for(j=0;j(<)a.column;j++)
{
if(a.element[k][j]%2==0)
genap=genap+1;
else
ganjil=ganjil+1;
}
}
printf("Jumlah Element Genap adalah : %d ",genap);
printf("\nJumlah Element Ganjil adalah : %d ",ganjil);

}


//file main.c

#include "header.h"

void main()
{
int opt;
allmat b;
do
{
system("cls");
printf("MENU\n");
printf("1. Menginputkan elemen matriks\n");
printf("2. Menampilkan elemen matriks yang ganjil\n");
printf("3. Menampilkan elemen matriks yang genap\n");
printf("4. Menghitung rata-rata total elemen matriks\n");
printf("5. Menghitung total elemen matriks\n");
printf("0. Keluar\n");
printf("Masukkan pilihan anda : ");scanf("%d",&opt);
printf("\n");
switch(opt)
{
case 1:
input(&b);
break;
case 2:
tampilganjil(b);
break;
case 3:
tampilgenap(b);
break;
case 4:
printf("Rata-ratanya adalah : %f",totalelement(b));
break;
case 5:
jumlah(b);
break;
case 0:
printf("BYE");
break;
default:
printf("Nomor yang anda masukkan salah");
break;
}
getch();
}while(opt!=0);
}

No comments: