Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- char _str[1000];
- char _c;
- char _p1[1000];
- char _p2[1000];
- void divideString(char str[], char c)
- {
- char *ptr; //apontador
- int i;
- for (i = 0; i < 1000; i++) {
- _str[i] = str[i];
- }
- ptr = strchr(str, c); //aponta para primeira ocorrência do char que eu quero
- if (ptr == NULL) //Se aponta pra algo != null faz o processo
- {}
- else
- {
- char p1[1000];
- char p2[1000];
- memset(p1, 0, strlen(p1)); //para colocar \0 na string
- strncpy(p1, str, ptr - str); //copia a string baseado na ocorrencia e armazena em p1
- memset(p2, 0, strlen(p2));
- strrev(str); //inverte a string
- ptr = strrchr(str, c); //ponteiro agora aponta para ultima ocorrencia
- strncpy(p2, str, ptr - str); //copia até ela, e armazena em p2
- strrev(str);
- strrev(p2); //inverte p2
- if (p1 != NULL)
- printf("\n%s", p1);
- if (p2 != NULL)
- printf("\n%s", p2);
- for (i = 0; i < 1000; i++) {
- _p1[i] = p1[i];
- _p2[i] = p2[i];
- }
- divideString(_p1, c-1);
- divideString(_p2, c+1);
- }
- }
- int main()
- {
- freopen("L0Q4.in", "r", stdin);
- freopen("L0Q4.out", "w", stdout);
- while (scanf("%s %c", _str, &_c) != EOF)
- {
- divideString(_str, _c);
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement