Advertisement
NB52053

Nadui_LAB3

Oct 29th, 2016
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. void genNumtoFile(void);
  7. void linearSearch(void);
  8. void quicksort(int values[10], int f, int l);
  9. void saveFile(void);
  10. //void binarySearch(void);
  11.  
  12. int totalNo = 6, values[10];
  13.  
  14. int main() {
  15.  
  16.     int choice;
  17.  
  18.     time_t start, end;
  19.     start = time(NULL);
  20.  
  21.     while (1){
  22.         printf("Choose your option\n");
  23.         printf("1> To Generate Numbers\n");
  24.         printf("2> Run Linear Search\n");
  25.         printf("3> Run Quick SORT\n");
  26.         printf("4> Run Binary Search\n");
  27.         printf("5> Save to file\n");
  28.         printf("6> Exit\n");
  29.  
  30.         end = time(NULL);
  31.         double timePassed = difftime(end, start);
  32.  
  33.  
  34.         scanf("%d", &choice);
  35.  
  36.  
  37.         switch (choice){
  38.  
  39.         case 1:
  40.             genNumtoFile();
  41.             break;
  42.         case 2:
  43.             linearSearch();
  44.             printf("Linear search time taken: %.2f seconds\n", timePassed);
  45.             break;
  46.         case 3:
  47.             quicksort(values, 0, totalNo);
  48.             break;
  49.         case 4:
  50.             //binarySearch();
  51.             break;
  52.         case 5:
  53.             saveFile();
  54.             break;
  55.         case 6:
  56.             exit(0);
  57.  
  58.         }
  59.     }
  60. }
  61.  
  62.  
  63.  
  64.  
  65. void genNumtoFile(){
  66.  
  67.     int i;
  68.  
  69.     FILE *fp;
  70.     errno_t err = fopen_s(&fp, "ValuesGenerated.txt", "w");
  71.  
  72.     for (i = 0; i<totalNo; i++){
  73.         values[i] = rand() % 1000;
  74.         fprintf_s(fp, "%d\n", values[i]);
  75.  
  76.     }
  77.  
  78.     fclose(fp);
  79.  
  80.     printf("Rand. Generated No are:\n\n");
  81.     for (i=0; i<totalNo; i++){
  82.     printf("\t%d\n", values[i]);
  83.     }
  84. }
  85.  
  86.  
  87. void linearSearch(){
  88.  
  89.     int i, key;
  90.  
  91.     printf("What no. you wana search?\n");
  92.     scanf("%d", &key);
  93.  
  94.     for (i = 1; i<totalNo; i++){
  95.         if (values[i] == key){
  96.             printf("Found!\n");
  97.             break;
  98.        
  99.         }
  100.         else printf("Not found!\n");
  101.         break;
  102.     }
  103.  
  104.     /*if (i>totalNo){
  105.         printf("Not Found!\n");
  106.     }*/
  107.  
  108. }
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118. void saveFile (){
  119.  
  120. int i;
  121.  
  122. FILE *fp;
  123. errno_t err = fopen_s(&fp, "ValuesGenerated.txt","w");
  124.  
  125. for (i=0; i<totalNo; i++){
  126. fprintf_s(fp, "%d\n", values[i]);
  127.  
  128. }
  129.  
  130. fclose(fp);
  131. }
  132.  
  133.  
  134.  
  135. void quicksort(int values[10], int f, int l){
  136.  
  137.     int j, i, tnp;
  138.  
  139.     if (l> f){
  140.  
  141.         i = f + 1;
  142.         j = l;
  143.  
  144.         while (j >= i){
  145.  
  146.             while (values[f] >values[i]){
  147.                 i = i + 1;
  148.             }
  149.  
  150.             while (values[f]< values[j]){
  151.                 j = j - 1;
  152.             }
  153.  
  154.             if (j >= i){
  155.  
  156.                 tnp = values[i];
  157.                 values[i] = values[j];
  158.                 values[j] = tnp;
  159.  
  160.                 i = i + 1;
  161.                 j = j - 1;
  162.  
  163.             }
  164.  
  165.         }
  166.  
  167.         tnp = values[f];
  168.         values[f] = values[j];
  169.         values[j] = tnp;
  170.  
  171.         quicksort(values, f, j - 1);
  172.         quicksort(values, j + 1, l);
  173.  
  174.     }
  175.  
  176.  
  177.     printf("Sorted values are: \n\n");
  178.     for (i = 0; i<totalNo; i++){
  179.         printf("%d\n", values[i]);
  180.     }
  181. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement