Holek

Untitled

Feb 9th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. /*Napisz funkcję przyjmującą napis i zwracającą liczbę par znaków (parą nazywamy
  5. dwa sąsiadujące jednakowe znaki lub litery bez względu na ich wielkość). Przykład:
  6. wejście wyjście
  7. baa → 1
  8. bbaaac → 3
  9. AabBb → 3
  10.  
  11. */
  12. int funkcja(char *napis){
  13.     int pary=0;
  14.     int i=0;
  15.     int roznica = 'a'-'A'; // sprawdzamy ile znakow dzieli duza literke od malej
  16.     if(roznica<0){ // jesli waartosc jest ujemna to robimi zeby byla dodatnia
  17.         roznica=roznica*(-1);
  18.     }
  19.     do{
  20.         /*zrobimy zeby wszystkie literki byly male - bedzie latwiej xd*/
  21.  
  22.         if( ((int)napis[i] == (int)napis[i+1]) || ((int)napis[i]+roznica == (int)napis[i+1]) || ((int)napis[i] == (int)napis[i+1] + roznica )) // sprawdzamy trzy wersje 1 - jesli obie litery sa takiej samej wielkosci 2. jesli pierwsza jest inna od drugiej 3. jesli druga jest inna od pierwszej
  23.         pary++;
  24.         i++;
  25.     }while(napis[i] != '\0');
  26.  
  27.     return pary;
  28. }
  29.  
  30. int main()
  31. {
  32.     printf("%i\n",funkcja("baa"));
  33.     printf("%i\n",funkcja("bbaaac"));
  34.     printf("%i\n",funkcja("AabBb"));
  35.     return 0;
  36. }
Add Comment
Please, Sign In to add comment