Advertisement
Guest User

Untitled

a guest
May 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include "SwinGame.h"
  5. #define size 800
  6.  
  7. struct sample
  8. {
  9. int value;
  10. color clr;
  11. };
  12.  
  13. color get_color(int num)
  14. {
  15. color clr;
  16. float hue;
  17. hue = (float) num / 700;
  18. clr = hsbcolor(hue,0.7,0.8);
  19. return clr;
  20. }
  21.  
  22. void fill_array(struct sample data[])
  23. {
  24. int i;
  25. for (i=0;i<size;i++){
  26. data[i].value = rand() % 700;
  27. data[i].clr = get_color(data[i].value);
  28. }
  29. }
  30.  
  31. void draw_bar(struct sample data[])
  32. {
  33. int i;
  34. float x;
  35. float y;
  36. float rectwidth = 1;
  37. for(i=0;i<800;i++){
  38. x = rectwidth * i;
  39. y = 700 - data[i].value;
  40. fill_rectangle (data[i].clr, x, y, rectwidth, data[i].value);
  41. }
  42.  
  43. }
  44. void sort_data(sample data[])
  45. {
  46. int i, m, tempNo = 0;
  47.  
  48. // Using nested for loops, sort the data from smallest to largest
  49. for(i=0; i < (size-1); i++)
  50. {
  51. for(m=0;m < (size-1-i); m++)
  52. {
  53. if (data[m].value > data[m+1].value)
  54. {
  55. tempNo = data[m].value;
  56. data[m].value = data[m+1].value;
  57. data[m+1].value = tempNo;
  58. }
  59. }
  60. }
  61. }
  62.  
  63. int main()
  64.  
  65. {
  66. struct sample data[size];
  67. srand(time(NULL));
  68. open_graphics_window("Array Rectangles",800, 700);
  69. fill_array(data);
  70. do
  71. {
  72. process_events();
  73. clear_screen(COLOR_WHITE);
  74. draw_bar(data);
  75. refresh_screen (60);
  76. if (key_down(RKEY))
  77. {
  78. sort_data(data);
  79. }
  80. }while(!(window_close_requested() ) );
  81.  
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement