Страницы

Translate

понедельник, 29 июля 2013 г.

Упражнение 2.4. Напишите версию функции squeeze(s1, s2), которая удаляет из s1 все символы, встречающиеся в строке s2.


Упражнение 2.4. Напишите версию функции squeeze(s1, s2), которая удаляет из s1 все символы, встречающиеся в строке s2.



/*
 * Copyright 2013 Pavel <pavel@pavel-Ubuntu>
 */

#include <stdio.h>

void squeeze(char s1[], char s2[]);

int main()
{
    char first[] = "afrfora";
    char second[] = "frodl";
    
    squeeze(first, second);
    printf("%s\n", first);
    return 0;
}

/*squeeze*/

void squeeze(char s1[], char s2[])
{
    int i, j, n, c;
    i=j=0; 
    
    while(s2[i] != '\0')
        if(s1[j] == s2[i]) //удаляем встречающиеся символы
        {
            for(n=c=j; s1[c] != '\0'; n++)
                s1[n] = s1[++c];
        }
        else if(s1[j] == '\0')
        {
            i++;
            j=0;
        }
        else
            j++;
}

Результат:



Комментариев нет:

Отправить комментарий