Anda di halaman 1dari 2

Diagram Roset

#include
#include
#include
#include
#include

<iostream>
<graphics.h>
<math.h>
<fstream>
<string>

using namespace std;


int main()
{
initwindow(600,650);
ifstream file1; //panggil fungsi open dari file1
file1.open("strike1.txt"); //buka file strike1.txt
string nilai;
int i=0;
float strike[100];
while(getline(file1,nilai))
{
stringstream ss(nilai);//convert dari string ke float
ss >>strike[i];
i++;
}
file1.close();
for (i=0;i<=99;i++)
{cout<<strike[i]<<endl;}
float interval[25]; //kelompok data misal sudut 0-25 di partisi
for (int k=0;k<=24;k++)
{
interval[k]=k*15;
}
float frekuensi[24]; //intervalnya krn 15 jdi 360/15
float persentasefrekuensi[24];
for(i=1;i<=24;i++)
{ frekuensi[i]=0;}
for(i=0;i<=24;i++)
{
for(int j=0;j<=99;j++) //ini krn ada 100 data
{
if (strike[j]>=interval[i] && strike[j]<interval[i+1]) //bakal looping
kalo nilai ga terpenuhi
{frekuensi[i]++;}
}
persentasefrekuensi[i]=(frekuensi[i]/100)*100; //ini bikin r dalam bentu
k persen
cout<<"interval "<<interval[i]<<" - "<<interval[i+1]<<" = "<<persentasef
rekuensi[i]<<"%"<<endl;

}
float maxdata=persentasefrekuensi[0];
for(i=0;i<=24;i++)
{ if(maxdata<=persentasefrekuensi[i]) //buat nyari brp presentasi tertinggi
maxdata=persentasefrekuensi[i];
}
cout<<maxdata;
float jari2=maxdata; // faktor pembagi jari jari
int posxa=300,posya=300;
float lebar=280; // jari jari makasimal (grafik)
moveto(posxa,posya);
line(posxa-lebar,posya,posxa+lebar,posya);
line(posxa,posya-lebar,posxa,posya+lebar);
float skala = lebar/maxdata;
circle(posxa,posya,maxdata*skala); //Bikin lingkaran di titik tengah
//posxa, posya, sebesar r=maxdata kali s
kala
for(i=0;i<=24;i++)
{
float jarijari= persentasefrekuensi[i]/maxdata*jari2*skala;
setfillstyle(1,i);
pieslice(posxa,posya,90-interval[i+1],90-interval[i],jarijari);
}

getch();
closegraph();
return 0;
}

Anda mungkin juga menyukai