daily pastebin goal
30%
SHARE
TWEET

Untitled

KlimexuS Dec 15th, 2017 37 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #include <string.h>
  4. #include <conio.h>
  5. #define N 5
  6. #define MAX_ZNAKOW 40
  7.  
  8.  
  9.  
  10. void show_arr(char arr[][MAX_ZNAKOW], int size);
  11. unsigned dodaj_napis(char* str);
  12. unsigned int ile_znakow(char* str);
  13. int usun_wyraz(char arr[][MAX_ZNAKOW], int index, int size);
  14. bool znajdz_wyraz(char*str, char arr[][MAX_ZNAKOW], int size);
  15.  
  16. int main()
  17. {
  18.     char tab[N][MAX_ZNAKOW];
  19.     int IloscNapisow = 0;
  20.  
  21.     printf("MENU\n wpisz 1 by dodac wyraz \n  2 by wyswietlic wyrazy \n  3 by wyswietlic liczbe znakow \n  4 by usunac wyraz \n   5 by sprawdzic ile wyrazow jest w zbiorze \n 6 by sprawdzic czy wyraz nalezy do zbioru \n aby wybrac funkcje\n");
  22.     char action = getch();
  23.    
  24.     while(action != 'q' )
  25.     {
  26.             int suma;  
  27.             int i;
  28.             int index;
  29.             char wyraz;
  30.         switch(action)
  31.         {
  32.             case '1':
  33.                 printf("podaj slowo\n");
  34.                 dodaj_napis(tab[IloscNapisow]);
  35.                 IloscNapisow +=1;
  36.                 break;
  37.            
  38.             case '2':
  39.                 printf("twoje slowa to:\n");
  40.                 printf("%d\n", IloscNapisow);
  41.                 show_arr(tab, IloscNapisow);
  42.                 break;
  43.             case '3':
  44.                 suma=0;
  45.                 for(i=0; i<IloscNapisow; i++)
  46.                 {
  47.                 suma += ile_znakow(tab[i]);
  48.                 }
  49.                 printf("twoj zbior napisow ma %d znakow\n", suma);
  50.                 break;
  51.             case '4':
  52.                 printf("Wybierz index wyrazu ktory chcesz usunac\n");
  53.                 scanf("%d", &index);
  54.                 IloscNapisow -= usun_wyraz(tab, index, IloscNapisow);
  55.                 break;
  56.             case '5':
  57.                 printf("Ilosc wyrazow to : %d \n", IloscNapisow);
  58.                 break;
  59.             case '6':
  60.                
  61.                 bool znajdujesienapis = false;
  62.                    
  63.                         char* str;
  64.                         printf("podaj slowo ktorego szukasz\n");
  65.                         scanf("%s", &str);
  66.                     for(i=0; i<IloscNapisow; i++)
  67.                     {
  68.                        
  69.                         if(znajdz_wyraz(str, tab, IloscNapisow));
  70.                         {
  71.                             printf("znajduje sie napis\n");
  72.                        
  73.                         }
  74.  
  75.                     }
  76.            
  77.          
  78.         }
  79.         printf("MENU\n wpisz 1, 2, 3, 4, lub 5 aby wybrac funkcje\n");
  80.         action = getch();
  81.        
  82.        
  83.     }
  84.    
  85.  
  86.    
  87. }
  88.  
  89. unsigned dodaj_napis(char* str)
  90. {
  91.     scanf("%s", str);
  92. }
  93.  
  94. void show_arr(char arr[][MAX_ZNAKOW], int size)
  95. {
  96. int i;
  97. for(i=0; i<size;i++)
  98. {
  99. printf("%s\n", arr[i]);
  100. }
  101. }
  102.  
  103. unsigned int ile_znakow(char* str)
  104. {
  105.         const char *s;
  106.         for (s = str; *s; ++s)
  107.                 ;
  108.         return (s - str);
  109.        
  110. }
  111. int usun_wyraz(char arr[][MAX_ZNAKOW], int index, int size)
  112. {
  113.     if(index > size || index < 0)
  114.     return 0;
  115.     int i;
  116.     for(i = index; i<size-1; i++)
  117.     {
  118.     memcpy(arr[i], arr[i+1], ile_znakow(arr[i+1]));
  119.     }
  120.     return 1;
  121. }
  122. bool znajdz_wyraz(char*str, char arr[][MAX_ZNAKOW], int size)
  123. {
  124.         int i;
  125.         for(i=0; i<size; i++)
  126.         {
  127.         if(!strcmp(str, arr[i]))
  128.         {
  129.             return true;
  130.         }
  131.         return false;
  132.         }
  133.    
  134. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top