1

Тема: Символьні послідовності

Дано 2 символьні послідовності. Вилучити з першої послідовності кожний символ, що належить і другій послідовності. Надрукувати задані і утворену послідовності

2

Re: Символьні послідовності

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {

    int i, j = 0, len;
    char *str1, *str2, *str3;
    
    str1 = "123456789";
    str2 = "256";
    str3 = malloc(strlen(str1));
    
    len = strlen(str1);
    
    for (i = 0; i < len; i++) {
        if (strchr(str2, str1[i]) == NULL) {
            str3[j] = str1[i];
            j++;
        }
    }
    str3[j] = '\0';
    
    
    printf("%s\n%s\n%s\n", str1, str2, str3);
    
    free(str3);
        
    return 0;
}

3

Re: Символьні послідовності

не компілює - вибиває помилку "Cannot convert 'void *' to 'char *'

4

Re: Символьні послідовності

Спробуй

str3 = malloc(strlen(str1));

замінити на

str3 = (char *)malloc(strlen(str1));
Подякували: Replace1

5

Re: Символьні послідовності

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main() {
 
    int i, j = 0, len;
    char *str1, *str2, *str3;
    char * malloc(int);
...
    return 0;
}
Щоб зрозуміти рекурсію потрібно спочатку зрозуміти рекурсію.
int fac(int n) { return n < 2 ? 1 : n*fac(n-1); }