Advertisement
dzieciol

flaga

Mar 11th, 2016
469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  5.  
  6. int *tw_tab (int r){
  7. int i;
  8. int *wsk;
  9. wsk=malloc(r*sizeof(int));
  10. for (i=0;i<r;i++){
  11. printf("t[%d]=",i+1);
  12. scanf("%d",&wsk[i]);
  13.  
  14. }
  15. return wsk;
  16. }
  17.  
  18. void BubbleSort(int *tab,int n){
  19. int i,j,temp;
  20. for(j=n-1;j>0;j--){
  21. for(i=0;i<j;i++){
  22. if(tab[i]>tab[i+1]){
  23. temp=tab[i];
  24. tab[i]=tab[i+1];
  25. tab[i+1]=temp;
  26.  
  27. }
  28.  
  29. }
  30. }
  31. }
  32.  
  33. void InsertSort(int *tab,int n) {
  34. int i,temp,j;
  35. for (i=0;i<n;i++){
  36. temp = tab[i];
  37. j=i-1;
  38. while (temp<=tab[j] && j>=0){
  39. tab[j+1]=tab[j];
  40. j--;
  41. } tab[j+1]=temp;
  42. }
  43. }
  44. void SelectionSort(int *tab,int n)
  45. {
  46. int i,j,temp;
  47. int max;
  48. for (i=n;i>0;i--){
  49. max=tab[i];
  50. for (j=0;j<=i;j++)
  51. {
  52. if (tab[j]>max){temp=max;max=tab[j];tab[j]=temp;}
  53. }tab[i]=max;
  54.  
  55. }
  56. }
  57.  
  58. void QuickSort(int *tab,int p,int k){
  59. int x=tab[p];
  60. int i,j,temp;
  61. i=p;
  62. j=k;
  63. do
  64. {
  65. while (tab[i] < x) i++;
  66. while (tab[j] > x) j--;
  67. if (i<=j){
  68. temp=tab[i];
  69. tab[i]=tab[j];
  70. tab[j]=temp;
  71. ++i;
  72. --j;
  73. }
  74. }while(i<j);
  75.  
  76.  
  77. if(p<j) QuickSort(tab,p,j);
  78. if(k>i) QuickSort(tab,i,k);
  79.  
  80. }
  81. void bisekcja(int *tab,int sz, int l,int p){
  82. int sr=(l+p)/2;
  83. if(sz==tab[sr]) printf("szukany element znajduje się w tablicy na miejscu %d \n",sr+1);
  84. else if(sz>tab[sr] && l<p){bisekcja(tab,sz,sr+1,p);}
  85. else if(sz<tab[sr] && l<p)bisekcja(tab,sz,l,sr-1);
  86. else printf("szukanego elementu niema w tablicy :( \n");
  87.  
  88.  
  89. }
  90.  
  91.  
  92. void flaga(int *tab, int n){
  93. int i=0;
  94. int j=n-1;
  95. int pom;
  96. while (i<=j) {
  97. while (tab[i]==0 && i<j) i++;
  98. while (tab[j]==1 && i<j) j--;
  99.  
  100. pom=tab[i];
  101. tab[i]=tab[j];
  102. tab[j]=pom;
  103. i++;
  104. j--;
  105.  
  106. }
  107.  
  108. }
  109. void flaga3(int *tab,int n){
  110.  
  111.  
  112. }
  113.  
  114. int main(int argc, char *argv[]) {
  115. int n,temp;
  116. printf("ile elementów chcesz wprowadzić i posortować");
  117. scanf("%d",&n);
  118. int *tab_wsk;
  119. tab_wsk=tw_tab(n);
  120. //BubbleSort(tab_wsk,n);
  121. //InsertSort(tab_wsk,n);
  122. //SelectionSort(tab_wsk,n);
  123. //QuickSort(tab_wsk,0,n);
  124. //int zn;
  125. //printf("podaj szukany element");
  126. //scanf("%d",&zn);
  127. //bisekcja(tab_wsk,zn,0,n);
  128. int i;
  129. flaga(tab_wsk,n);
  130. for(i=0;i<n;i++)
  131. {
  132. printf("%d \n",tab_wsk[i]);
  133. }
  134.  
  135. return 0;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement