C Program to Print Combination of two Words of two given Strings without any Repetition

«
»

This is a C Program to print combination of two words of two given strings without any repetition.

Problem Description

This C Program prints combination of two words of two given strings without any repetition.

Problem Solution

Take input from the user and perform string operations as shown in the program below.

advertisement
Program/Source Code

Here is source code of the C Program to print combination of two words of two given strings without any repetition. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

/*
 * C Program to Print Combination of two Words of two 
 * given Strings without any Repetition
 */
#include <stdio.h>
#include <string.h>
 
void main()
{
    char string[100], str[10], c[10];
    int z, occ = 0, i = 0, j = 0, count = 0, len = 0;
 
    printf("Enter a string:");
    scanf("%[^\n]s", string);
    printf("Enter the word to check its occurence:");
    scanf("%s", str);
    len = strlen(str);
    for (i = 0;string[i] != '\0';i++)
    {
        count = 0;
        for (j = 0, z = i;j < len; j++, z++)
        {
            c[j] = string[z];
            if (c[j] == str[j])
            {
                count++; /* Incrementing the count if the characters of the main string match with the characters of the given word */
            }
        }
        if (count == len && string[z] == ' ')
        {
            occ++;        /* Incrementing the occ if word matches completely and next character in string is space */
        }
    }
    printf("The number of occ is %d\n", occ);
}
Program Explanation

In this C program, we are reading a value of string using ‘string’ variable. Compute the length of the string using strlen() function for ‘str’ variable. For loop is used to find the combination of two words of two given strings without any repetition.

advertisement

In for loop initialize the value of ‘i’ variable as 0. Check the condition that the value of ‘string[]’ array variable with base index of the value of ‘i’ variable is not equal to null. If the condition is true then execute the iteration of the loop, initialize the value of ‘count’ variable to 0.

In another for loop initialize the value of ‘j’ variable to 0 and the value of ‘z’ variable to the value of ‘i’ variable. Check the condition that the value of ‘j’ variable is less than the value of ‘len’ variable. If the condition is true then execute the loop. If condition statement is used to check that the characters in the main string match with the characters of the given word.

If the condition is true then execute the statement and increment the value of ‘count’ variable. Another if condition statement is used to check that word matches completely and next character in a string is space is not to be true using logical AND operator. If the condition is true then execute the statement and increment the value of ‘occ’ variable. Print combination of two words of two given strings without any repetition.

advertisement
Runtime Test Cases
 
$ cc string3.c
$ a.out
Enter a string:welcome to sanfoundry's c programming class,  welcome again to c class
Enter the word to check its occurence:welcome
The number of occ is 2
 
$ cc string3.c
$ a.out
Enter a string:welcome to sanfoundry's c programming class,  welcome again to c class
Enter the word to check its occurence:c
The number of occ is 2

Sanfoundry Global Education & Learning Series – 1000 C Programs.

Here’s the list of Best Reference Books in C Programming, Data-Structures and Algorithms

advertisement
If you wish to look at programming examples on all topics, go to C Programming Examples.

advertisement
advertisement
advertisement
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn