Advertisement
dllbridge

Untitled

Nov 3rd, 2024
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.03 KB | None | 0 0
  1.  
  2.  
  3. #include       <stdio.h>
  4. #include      <stdlib.h>      
  5. #include      <string.h>
  6. #include        <time.h>
  7.  
  8. char            **pp_sz;
  9.  
  10.  
  11. char*         genword();
  12. void      gennewpntrs();
  13. void     stringsprint();
  14. void      sort(char **);
  15. void        sortprint();
  16.  
  17.  
  18. ////////////////////////////////////////////////////////////////////
  19. int main()                                                        //    
  20. {
  21.    
  22.     pp_sz = (char**)malloc(40);
  23.    
  24.     char sz [99] =      "SONY",
  25.          sz2[99] =  "Pictures";
  26.    
  27.        pp_sz[ 0] =   (char*)sz;
  28.        pp_sz[ 1] =  (char*)sz2;
  29.    
  30.     pp_sz[2] = (char*)malloc(99);  
  31.            
  32.     strcpy(pp_sz[2], "TDK");
  33.      
  34.     srand(time(0));  
  35.    
  36.     gennewpntrs();
  37.    
  38.     stringsprint();
  39.  
  40.     sort(pp_sz);
  41.    
  42.  
  43.     stringsprint();
  44. }
  45. ////////////////////////////////////////////////////////////////////
  46. char* genword()
  47. {
  48.     int  n =    1 + rand()%8;
  49.     char A = 65 + rand()%26;
  50.    
  51.    static char sz[99];
  52.    
  53.    int i = 0;
  54.    for(; i <= n; i++)
  55.    {
  56.        if(i == 0)  sz[i] = 65 + rand()%26;
  57.        else        sz[i] = 97 + rand()%26;
  58.    }
  59.    
  60.    printf("i = %d\n", i);
  61.  
  62.    sz[i] = 0;
  63.  
  64. return sz;
  65. }
  66. ////////////////////////////////////////////////////////////////////
  67. void gennewpntrs()
  68. {  
  69.    
  70.     for(int g = 3; g <= 10; g++)
  71.     {
  72.            
  73.         pp_sz[g] = (char*)malloc(99);
  74.         strcpy(pp_sz[g], genword() );  
  75.     }
  76. }
  77. ////////////////////////////////////////////////////////////////////
  78. void stringsprint()
  79. {
  80.    
  81.     for(int i = 0; i <= 10; i++)
  82.     {
  83.        printf("pp_sz[%2d] = %s\n", i, pp_sz[i]);   
  84.     }
  85.     printf("\n");
  86. }
  87.  
  88.  
  89.  
  90. ///////////////////////////////////////////////////////////////////
  91. void sort( char **p_sz)
  92. {
  93.      
  94.     int  i = 0,
  95.          n = 0,
  96.      nFlag = 0;
  97.      
  98.     char *swap;
  99.    
  100. do{   nFlag = 0;
  101.       for(i = 0; i < 10; i++)
  102.       {  
  103.         if(*pp_sz[i] > *pp_sz[i+1])
  104.         {  
  105.            nFlag = 1;
  106.            swap = pp_sz[i] ;
  107.            pp_sz[i] = pp_sz[i+1];
  108.            pp_sz[i+1] = swap;  
  109.         }
  110.       }
  111.     }
  112.     while(nFlag > 0);
  113.  
  114. }
  115.  
  116.  
  117.  
  118.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement