Advertisement
Guest User

ellll

a guest
Oct 18th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int losowanie();
  6. int i ,j,N,i,k=0,p;
  7. char X;
  8. //definiowanie
  9.  
  10. typedef struct Struktura {
  11. int i;
  12. char c;
  13. float f;
  14. };
  15.  
  16. void kasowanie(int N, int ** tab)
  17. {
  18.  
  19. for (i = 0; i<N; i++)
  20. free(tab[i]);
  21. free(tab);
  22. }
  23.  
  24. int zliczanie();
  25.  
  26. int main(int argc, char *argv[])
  27. {
  28. srand( time( NULL ) );
  29. losowanie();
  30. sortowanie();
  31. }
  32.  
  33. int pobieranie()
  34. {
  35. FILE* fp = fopen("inlab01.txt", "r");
  36. if (fp == NULL)
  37. return -1;
  38. fscanf(fp, "%d %c", &N, &X);
  39. fclose(fp);
  40. return 0;
  41. }
  42.  
  43. Struktura ** losowanie()
  44. {
  45.  
  46. pobieranie();
  47.  
  48.  
  49. //alokacja
  50. Struktura** tab=(Struktura**) malloc(N*sizeof(Struktura*));
  51.  
  52. for(i=1;i<=N;i++){
  53. tab[i]=(Struktura*) malloc(sizeof(Struktura));
  54.  
  55.  
  56. do{
  57. int p=(-1000 + rand() % 9000);
  58. }
  59. while(p!=(*tab[k]).i);
  60. {
  61. int p=(-1000 + rand() % 9000);
  62. k++;
  63. if(k==i)break;
  64. }
  65. (*tab[i]).i=p;
  66. (*tab[i]).c= 66+rand() % 22;
  67. (*tab[i]).f= 1000 + i;
  68. }
  69.  
  70.  
  71. return ** tab;
  72.  
  73.  
  74. }
  75. int sortowanie(int **tab, int n) {
  76.  
  77. for (i = 1; i <= n - 1; i++)
  78. {
  79. int flag = 0;
  80. for (j = 1; j <= (n - i); j++)
  81. {
  82. if ((*tab[j]).c = (*tab[j+1]).i)
  83. {
  84. int tmp = (*tab[j+1]).i;
  85. (*tab[j+1]).i = (*tab[j]).i;
  86. (*tab[j]).i = tmp;
  87. flag = 1;
  88. }
  89. if (flag = 0)
  90. return(**tab);
  91. }
  92. return(**tab);
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement