View difference between Paste ID: UAPcY5Te and RSn886Rw
SHOW: | | - or go back to the newest paste.
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
}