tuxmartin

C generovani nahodnych cisel

Dec 6th, 2014
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.03 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <fcntl.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. FILE *csv;
  7.    
  8. int generujNahodneCislo() {
  9.     /*
  10.     random int between 0 and 19
  11.     int r = rand() % 20;
  12.     */
  13.     return rand();
  14. }
  15.  
  16. int main(int argc, char *argv[]) {
  17.     csv = fopen("srand_time_null.csv", "w+");
  18.     time_t start, stop;
  19.     usleep(1000*1000);
  20.     srand(time(NULL));
  21.  
  22.     int kolik = 1;
  23.    
  24.     if (argc > 1) {
  25.         kolik = atol(argv[1]);
  26.     }
  27.  
  28.     printf("Kolik: %d\n", kolik);
  29.  
  30.     int cisla[kolik];
  31.  
  32.     time(&start);
  33.     for (int i=0; i< kolik; i++) {
  34.         int vygenerovaneCislo;
  35.         do {
  36.             vygenerovaneCislo = generujNahodneCislo();
  37.         } while (vygenerovaneCislo < 0);
  38.         cisla[i] = vygenerovaneCislo;
  39.     }
  40.     time(&stop);
  41.  
  42.     for (int i=0; i< kolik; i++) { 
  43.         //fprintf(csv, "%d,%d\n", i, cisla[i]);
  44.         //fprintf(csv, "0.%d\n", cisla[i]);
  45.         fprintf(csv, "%.10f\n", (double) cisla[i] / 10000000000);
  46.         printf("Nahodne cislo c. %d = %.10f\n", i, (double) cisla[i] / 10000000000);
  47.         //printf("Nahodne cislo c. %d = %d\n", i, cisla[i]);
  48.     }
  49.  
  50.     printf("Vygenerovano: %d cisel\n", kolik);
  51.     printf("Generovani trvalo %.000fs\n", difftime(stop, start));
  52.  
  53.     fclose(csv);
  54.  
  55.     return 0;
  56. }
  57.  
  58. // gcc -o srand_time_null srand_time_null.c -std=c99
  59.  
  60. /*
  61. VYSTUP:
  62. $ gcc -o srand_time_null srand_time_null.c -std=c99 && ./srand_time_null 100
  63. srand_time_null.c: In function ‘main’:
  64. srand_time_null.c:19:2: warning: implicit declaration of function ‘usleep’ [-Wimplicit-function-declaration]
  65.   usleep(1000*1000);
  66.   ^
  67. Kolik: 100
  68. Nahodne cislo c. 0 = 0.1274576204
  69. Nahodne cislo c. 1 = 0.0605151921
  70. Nahodne cislo c. 2 = 0.1468025550
  71. Nahodne cislo c. 3 = 0.0958722198
  72. Nahodne cislo c. 4 = 0.0058086935
  73. Nahodne cislo c. 5 = 0.0344411647
  74. Nahodne cislo c. 6 = 0.1328482324
  75. Nahodne cislo c. 7 = 0.2100157026
  76. Nahodne cislo c. 8 = 0.1628522256
  77. Nahodne cislo c. 9 = 0.2144103242
  78. Nahodne cislo c. 10 = 0.0048639442
  79. Nahodne cislo c. 11 = 0.1619691275
  80. Nahodne cislo c. 12 = 0.1490360572
  81. Nahodne cislo c. 13 = 0.1805646522
  82. Nahodne cislo c. 14 = 0.2009364948
  83. Nahodne cislo c. 15 = 0.1151219024
  84. Nahodne cislo c. 16 = 0.1190421310
  85. Nahodne cislo c. 17 = 0.1769249318
  86. Nahodne cislo c. 18 = 0.1102029399
  87. Nahodne cislo c. 19 = 0.2132923842
  88. Nahodne cislo c. 20 = 0.1460966668
  89. Nahodne cislo c. 21 = 0.0467141044
  90. Nahodne cislo c. 22 = 0.1622822195
  91. Nahodne cislo c. 23 = 0.0155719721
  92. Nahodne cislo c. 24 = 0.0792600692
  93. Nahodne cislo c. 25 = 0.0344670872
  94. Nahodne cislo c. 26 = 0.0524140436
  95. Nahodne cislo c. 27 = 0.1361093720
  96. Nahodne cislo c. 28 = 0.1409549393
  97. Nahodne cislo c. 29 = 0.1257649514
  98. Nahodne cislo c. 30 = 0.0582285215
  99. Nahodne cislo c. 31 = 0.0536641950
  100. Nahodne cislo c. 32 = 0.1862801435
  101. Nahodne cislo c. 33 = 0.2050310765
  102. Nahodne cislo c. 34 = 0.1495364148
  103. Nahodne cislo c. 35 = 0.1920888371
  104. Nahodne cislo c. 36 = 0.0247238765
  105. Nahodne cislo c. 37 = 0.0676362825
  106. Nahodne cislo c. 38 = 0.1873561749
  107. Nahodne cislo c. 39 = 0.1875761021
  108. Nahodne cislo c. 40 = 0.0672982419
  109. Nahodne cislo c. 41 = 0.1922201192
  110. Nahodne cislo c. 42 = 0.1347968648
  111. Nahodne cislo c. 43 = 0.0015859343
  112. Nahodne cislo c. 44 = 0.1580364066
  113. Nahodne cislo c. 45 = 0.1209849948
  114. Nahodne cislo c. 46 = 0.1167078367
  115. Nahodne cislo c. 47 = 0.0623301728
  116. Nahodne cislo c. 48 = 0.0831615619
  117. Nahodne cislo c. 49 = 0.0121624119
  118. Nahodne cislo c. 50 = 0.0608741923
  119. Nahodne cislo c. 51 = 0.0145098639
  120. Nahodne cislo c. 52 = 0.0588765163
  121. Nahodne cislo c. 53 = 0.0084080470
  122. Nahodne cislo c. 54 = 0.0300818361
  123. Nahodne cislo c. 55 = 0.1381365855
  124. Nahodne cislo c. 56 = 0.0428751342
  125. Nahodne cislo c. 57 = 0.0824958797
  126. Nahodne cislo c. 58 = 0.0594975927
  127. Nahodne cislo c. 59 = 0.1838300736
  128. Nahodne cislo c. 60 = 0.2082608311
  129. Nahodne cislo c. 61 = 0.1177261143
  130. Nahodne cislo c. 62 = 0.0227459038
  131. Nahodne cislo c. 63 = 0.1797926099
  132. Nahodne cislo c. 64 = 0.1080088260
  133. Nahodne cislo c. 65 = 0.1722823186
  134. Nahodne cislo c. 66 = 0.1571330822
  135. Nahodne cislo c. 67 = 0.1327327025
  136. Nahodne cislo c. 68 = 0.0251702363
  137. Nahodne cislo c. 69 = 0.1297408923
  138. Nahodne cislo c. 70 = 0.1055604398
  139. Nahodne cislo c. 71 = 0.0924684782
  140. Nahodne cislo c. 72 = 0.1072126467
  141. Nahodne cislo c. 73 = 0.0256089398
  142. Nahodne cislo c. 74 = 0.0940544126
  143. Nahodne cislo c. 75 = 0.0505006886
  144. Nahodne cislo c. 76 = 0.1465939347
  145. Nahodne cislo c. 77 = 0.2107622493
  146. Nahodne cislo c. 78 = 0.1128308614
  147. Nahodne cislo c. 79 = 0.0150071318
  148. Nahodne cislo c. 80 = 0.0081762964
  149. Nahodne cislo c. 81 = 0.1737050537
  150. Nahodne cislo c. 82 = 0.0295169957
  151. Nahodne cislo c. 83 = 0.0670528128
  152. Nahodne cislo c. 84 = 0.1821131008
  153. Nahodne cislo c. 85 = 0.0595988318
  154. Nahodne cislo c. 86 = 0.2051893983
  155. Nahodne cislo c. 87 = 0.0102398702
  156. Nahodne cislo c. 88 = 0.1420947115
  157. Nahodne cislo c. 89 = 0.0499386263
  158. Nahodne cislo c. 90 = 0.1940699438
  159. Nahodne cislo c. 91 = 0.1356071779
  160. Nahodne cislo c. 92 = 0.1676647406
  161. Nahodne cislo c. 93 = 0.0020674828
  162. Nahodne cislo c. 94 = 0.1006514230
  163. Nahodne cislo c. 95 = 0.0609252018
  164. Nahodne cislo c. 96 = 0.1743498015
  165. Nahodne cislo c. 97 = 0.0430361404
  166. Nahodne cislo c. 98 = 0.1936579044
  167. Nahodne cislo c. 99 = 0.1995200378
  168. Vygenerovano: 100 cisel
  169. Generovani trvalo 0s
  170. */
Advertisement
Add Comment
Please, Sign In to add comment