PDA

View Full Version : رسم نمودار فراوانی



shecarchi
یک شنبه 23 اسفند 1388, 18:20 عصر
سلام دوستان من برای یکسری داده می خوام نمودار فراوانی رسم کنم داده هام اعداد زیرن:

10 9 8 7 6 5 4 3 2 1

تعداد تکرار هر کدوم هم بدست اوردم و به ترتیب تو متغییر های زیرن(تعداد تکرار به صورت رندومه ودر هر بار اجرای برنامه عوض میشه)


counter[0] counter[1] counter[2] counter[3] counter[4] counter[5] counter[6] counter[7] counter[8] counter[9]حالا برای این داده ها می خوایم نمودار بکشیم مثلا مثل زیر



=== === ===
=== === === === === ===
=== === === === === ===
=== === === === === ===
=== === === === === === ===
=== === === === === === ===
=== === === === === === ===
=== === === === === === ===
-------------------------------------------
10 9 8 7 6 5 4

Salar Ashgi
یک شنبه 23 اسفند 1388, 22:50 عصر
جـــــــــــســــــــــــ تـــــــــــــجــــــــــ ــــــو کنید :

http://barnamenevis.org/forum/showpost.php?p=902502&postcount=88

shecarchi
دوشنبه 24 اسفند 1388, 00:19 صبح
دمت گرم از gotoxy چه طوری توی ویژوال استدیو 2010 استفاده کنم همین برنامه توی ویژوال هم جواب میده:تشویق:

clover
دوشنبه 24 اسفند 1388, 00:31 صبح
از gotoxy چه طوری توی ویژوال استدیو 2010 استفاده کنم
باید خودتون این تابع و همینطور تابع (...)clrscr را پیاده سازی کنید :

http://barnamenevis.org/forum/showthread.php?t=92264

void gotoxy(int x,int y)
{
COORD pos;
HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );

if (INVALID_HANDLE_VALUE != hConsole)
{
pos.X = x;
pos.Y = y;

SetConsoleCursorPosition( hConsole, pos );
}
}

همین برنامه توی ویژوال هم جواب میده
باید چند تا تغییر جزیی بدید.
با اجازه جناب salar_cpp_cs (http://barnamenevis.org/forum/member.php?u=70109)برای ویژوال استدیو 2008 ویرایش و تست شد :

#include <iostream>
#include <windows.h>
#include <conio.h>
#include <iomanip>

using namespace std;

void gotoxy(int x,int y)
{
COORD pos;
HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );

if (INVALID_HANDLE_VALUE != hConsole)
{
pos.X = x;
pos.Y = y;

SetConsoleCursorPosition( hConsole, pos );
}
}

void clrscr()
{
COORD coordScreen={0,0};
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);

GetConsoleScreenBufferInfo(hConsole,&csbi);
dwConSize=csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole,TEXT(''),dwCon Size,coordScreen,&cCharsWritten);
SetConsoleCursorPosition(hConsole,coordScreen);
}

void Graph_grade(int a[],int n){
gotoxy(4,2);
int f=3;
for(int i=20;i>=1;i--){
if(i>=10)
gotoxy(4,f++);
else
gotoxy(5,f++);
cout<<i<<(char)(195)<<endl;

}
gotoxy(7,f);
for(int i=0;i<n;i++){
cout<<(char)(194)<<(char)(196);
}
cout<<endl;
++f;
gotoxy(5,f);
for(int i=0;i<n;i++)
cout<<a[i]<<" ";

int y,col=7,m,z;
for(int i=0;i<n;i++){
y = 23-a[i];
m = y;
z = col;
gotoxy(col++,y);
for(int j=1;j<=a[i];j++){
gotoxy(z,m++);
cout<<(char)(219)<<endl;

}
gotoxy(col++,y);
}
col+=10;
gotoxy(col,10);
cout<<"Programmer : Salar_cpp_cs ";
}
//================================
int main(){
int k;
cout<<"Enter Tedad :\n";
cin>>k;
int *a = new int[k];
cout<<"Enter Numbers :\n";
for(int i=0;i<k;i++)
cin>>a[i];
clrscr();
//====================
Graph_grade(a,k);
getch();
}

shecarchi
دوشنبه 24 اسفند 1388, 03:15 صبح
clrscr که معادلش میشه
system("cls") که تو هدرstdlib هستش. دمت گرم:قلب: