Advertisement
Guest User

Untitled

a guest
May 31st, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <time.h>
  5.  
  6. void bubblesort(int tab[],int rozmiar)
  7. {
  8. int i,pom,porownania=0,zamiany=0;
  9. int j=rozmiar-1;
  10. for(;j>=1;j--)
  11. {
  12. i=1;
  13. for(;i<=j;i++)
  14. {
  15. porownania++;
  16. if(tab[i]>tab[i+1])
  17. {
  18. zamiany++;
  19. pom=tab[i];
  20. tab[i]=tab[i+1];
  21. tab[i+1]=pom;
  22. }
  23. }
  24. }
  25. printf("porownania=%d\nzamiany=%d",porownania,zamiany);
  26. }
  27.  
  28. void bubblesortguardian(int tab[],int rozmiar)
  29. {
  30. int i,pom,porownania=0,zamiany=0;
  31. int j=rozmiar-1,p;
  32. for(;j>=1;j--)
  33. {
  34. i=1,p=1;
  35. for(;i<=j;i++)
  36. {porownania++;
  37. if(tab[i]>tab[i+1])
  38. {
  39. zamiany++;
  40. pom=tab[i];
  41. tab[i]=tab[i+1];
  42. tab[i+1]=pom;
  43. p=0;
  44. }
  45. }
  46. if(p==1)j=1;
  47. }
  48. printf("porownania=%d\nzamiany=%d",porownania,zamiany);
  49. }
  50. int main()
  51. {
  52. float czas1,czas2;
  53. FILE *pfile;
  54. int tab1[1000],tab2[10000],tab3[100000],pom;
  55. // wpisanie losowych wartosci do plikow i do tablic
  56. pfile = fopen ("tablica1.txt","w");
  57. int i=0;
  58. for(;i<1000;i++)
  59. {
  60. pom=rand()%1000;
  61. tab1[i]=pom;
  62. fprintf (pfile, "%d\n",pom);
  63. }
  64. fclose (pfile);
  65. pfile = fopen ("tablica2.txt","w");
  66. for(i=0;i<10000;i++)
  67. {
  68. pom=rand()%1000;
  69. tab2[i]=pom;
  70. fprintf (pfile, "%d\n",pom);
  71. }
  72. fclose (pfile);
  73. pfile = fopen ("tablica3.txt","w");
  74. for(i=0;i<100000;i++)
  75. {
  76. pom=rand()%1000;
  77. tab3[i]=pom;
  78. fprintf (pfile, "%d\n",pom);
  79. }
  80. fclose (pfile);
  81. puts("*****sortowanie babelkowe*****\ntablica1000elementowa:");
  82. clock_t start=clock();
  83. bubblesort(tab1,1000);
  84. clock_t end=clock();
  85. float x;
  86. x=end-start;
  87. printf("\nczas programu=%f ",x);
  88. puts("\ntablica10000elementowa:");
  89. start=clock();
  90. bubblesort(tab2,10000);
  91. end=clock();
  92. x=end-start;
  93. printf("\nczas programu=%f ",x);czas1=x;
  94. puts("\ntablica100000elementowa:");
  95. start=clock();
  96. bubblesort(tab3,100000);
  97. end=clock();
  98. x=end-start;
  99. printf("\nczas programu=%f ",x);czas2=x;
  100. printf("stosunek czasow= %f",czas2/czas1);
  101. //sortowanie ze straznikiem
  102. pfile = fopen ("tablica1.txt","r");
  103. for(i=0;i<1000;i++)
  104. {
  105. fscanf(pfile,"%d",&tab1[i]);
  106. }
  107. fclose (pfile);
  108. pfile = fopen ("tablica2.txt","r");
  109. for(i=0;i<10000;i++)
  110. {
  111. fscanf(pfile,"%d",&tab2[i]);
  112. }
  113. fclose (pfile);
  114. pfile = fopen ("tablica3.txt","r");
  115. for(i=0;i<100000;i++)
  116. {
  117. fscanf(pfile,"%d",&tab3[i]);
  118. }
  119. fclose (pfile);
  120. //
  121. //
  122. puts("\n*****sortowanie babelkowe ze straznikiem*****\ntablica1000elementowa:");
  123. start=clock();
  124. bubblesort(tab1,1000);
  125. end=clock();
  126.  
  127. x=end-start;
  128. printf("\nczas programu=%f ",x);
  129. puts("\ntablica10000elementowa:");
  130. start=clock();
  131. bubblesort(tab2,10000);
  132. end=clock();
  133. x=end-start;
  134. printf("\nczas programu=%f ",x);czas1=x;
  135. puts("\ntablica100000elementowa:");
  136. start=clock();
  137. bubblesort(tab3,100000);
  138. end=clock();
  139. x=end-start;
  140. printf("\nczas programu=%f ",x);czas2=x;
  141. printf("stosunek czasow= %f",czas2/czas1);
  142. getchar();
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement