Тема: Символьні послідовності
Дано 2 символьні послідовності. Вилучити з першої послідовності кожний символ, що належить і другій послідовності. Надрукувати задані і утворену послідовності
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Символьні послідовності
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Дано 2 символьні послідовності. Вилучити з першої послідовності кожний символ, що належить і другій послідовності. Надрукувати задані і утворену послідовності
#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;
}не компілює - вибиває помилку "Cannot convert 'void *' to 'char *'
Спробуй
str3 = malloc(strlen(str1));замінити на
str3 = (char *)malloc(strlen(str1));#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;
}Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися