Advertisement
fursty

histograma

Mar 6th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. #include<graphics.h>
  2. using namespace std;
  3.  
  4. const int N = 80;
  5.  
  6. int main(){
  7.  
  8. initwindow(800,600);
  9. double xArray[N];
  10. double xArray2[N];
  11. double yArray[N];
  12. double yArray2[N];
  13. int x0 = 200;
  14. int y0 = 450;
  15. int pX = 500;
  16. int pY = 400;
  17. int dX = 50;
  18. int dY = 80;
  19. double xMin = -4;
  20. double xMax = 20;
  21. double yMin ;
  22. double yMax ;
  23. double xMin1 = 5;
  24. double xMax1 = 25;
  25. double deltax = (xMax - xMin) / (N-1);
  26. double deltax2 = (xMax1 - xMin1) / (N-1);
  27.  
  28. for(int i = 0 ; i < N; i++){
  29. xArray[i] = xMin + i *deltax;
  30. yArray[i] = (5 * xArray[i] * xArray[i]) - (3 * xArray[i]) +10;
  31. xArray2[i] = xMin1 + i * deltax2;
  32. yArray2[i] = ( xArray2[i] * xArray2[i] * xArray2[i]) - (8 * xArray2[i]) + 7;
  33. }
  34. yMin = yArray[0];
  35. yMax = yArray[0];
  36.  
  37. for(int i = 1; i < N; i++) {
  38. if (yArray[i] > yMax)
  39. yMax = yArray[i];
  40.  
  41. if (yArray[i] < yMin)
  42. yMin = yArray[i];
  43. }
  44.  
  45. double yMin2 = yArray2[0];
  46. double yMax2 = yArray2[0];
  47.  
  48. //Find Y2 min and max
  49. for(int i = 1; i < N; i++) {
  50. if (yArray2[i] > yMax2)
  51. yMax2 = yArray2[i];
  52. if (yArray2[i] < yMin2)
  53. yMin2 = yArray2[i];
  54. }
  55.  
  56. if (yMin2 < yMin)
  57. yMin = yMin2;
  58. if (yMax2 > yMax)
  59. yMax = yMax2;
  60.  
  61. double sX = (xMax1 - xMin ) / pX;
  62. double sY = (yMax - yMin ) / pY;
  63. if (xMin < 0) {
  64. float x0Prime = x0 + (0 - xMin) / sX;
  65. line(x0Prime, y0, x0Prime, y0 - pY);
  66. }
  67. if (yMin < 0) {
  68. float y0Prime = y0 + (yMin) / sY;
  69. line(x0, y0Prime, x0 + pX, y0Prime);
  70. }
  71. line(x0, y0, x0 + pX, y0);
  72. line(x0, y0, x0, y0 - pY);
  73. int xDelimeter = pX / dX;
  74. int yDelimeter = pY / dY;
  75.  
  76. char t[20];
  77. for (int i = 0; i <= xDelimeter; i++) {
  78. line(x0 + i*dX , y0, x0 + i*dX, y0 + 3);
  79. gcvt(xMin + i*dX*sX, 5.2, t);
  80. outtextxy(x0 + i*dX - 13, y0 + 10, t);
  81. }
  82. for(int i = 0; i<= yDelimeter; i++) {
  83. line(x0, y0 - i*dY, x0 - 3, y0 - i*dY);
  84. gcvt(yMin + i*dY*sY, 5.2, t);
  85. outtextxy(x0 - 50, y0 - i*dY - 15, t);
  86. }
  87. for(int i = 0; i < N; i++) {
  88. setcolor(15);
  89. int x = x0 + ((xArray[i] - xMin) / sX);
  90. int y = y0 - ((yArray[i] - yMin ) / sY);
  91. circle(x, y, 2);
  92. setcolor(2);
  93. x = x0 + ((xArray2[i] - xMin) / sX);
  94. y = y0 - ((yArray2[i] - yMin ) / sY);
  95. circle(x, y, 2);
  96. }
  97.  
  98. getch();
  99. return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement