C program to delete the written word using string function

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

int main()
{
    int i, j = 0, k = 0, count = 0;
    char str[100], key[20];
    char str1[10][20];

    printf("enter string:");
    scanf("%[^\n]s",str);

/* Converts the string into 2D array */   
    for (i = 0; str[i]!= '\0'; i++)
    {
        if (str[i]==' ')
        {
            str1[k][j] = '\0';
            k++;
            j = 0;
        }
        else
        {
            str1[k][j] = str[i];
            j++;
        }
    }
    str1[k][j] = '\0';
    printf("Which word to delete ?:");
    scanf("%s",&key);

/* Compares the string with given word */   
    for (i = 0;i < k + 1; i++)
    {
        if (strcmp(str1[i], key) == 0) //When both are same then override the current row with next row and so on upto the last row.
        {
            for (j = i; j < k + 1; j++)
            strcpy(str1[j], str1[j + 1]);
            k--;
        }

    }
    for (i = 0;i < k + 1; i++)
    {
        printf("%s ", str1[i]);
    }
}

OUTPUT

C program to delete the written word using string function

Post a Comment

0 Comments