Search
 
SCRIPT & CODE EXAMPLE
 

C

A string S is passed as the input. Two words W1 and W2 which are present in the string S are also passed as the input. The program must find the minimum distance D between W1 and W2 in S (in forward or reverse order) and print D as the output.

/*
 * Question :
 * 
 * 
 *	Minimum Distance between words[AMAZON]
 *	Posted on June 12, 2018
 * 
 *	A string S is passed as the input.Two words w1 and w2 which are present in the string S are also passed as the input.
 *	The program  must find the minimum distance d between W1 and W2 in S (in forward or reverse order)and print D as the output.
 *	
 *	Example 1:
 *
 *		Input:
 *			The brown quick frog quick the
 *			the
 *			quick
 *		Output:
 *			1
 *	Explanation:
 *		quick and the are adjacent as the last two words.Hence distance between them is 1.
 *
 * 
 *	Example 2:
 * 
 *		Input:
 *			the quick the brown quick brown the frog
 *			quick
 *			frog
 *		Output:
 *			3
 *
 */

//  Program:

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

int main()
{
	char sentence[50][50],w1[20],w2[20];
	int i=0,l=0,m=0,min=100,index1[50],index2[50];
 
	while(scanf("%s",sentence[i])>0)		// since it's not an online practice work-flow 
		i++;								// you have to use,  ctrl+z to end the input reading
 
	strcpy(w1,sentence[i-2]);
	strcpy(w2,sentence[i-1]);
	i=i-2;
 
	for(int j=0;j<i;j++)
	{
		if(strcmp(sentence[j],w1)==0)
		{
			index1[l]=j;	//getting the indexes of w1
			l++;
		}
		else if(strcmp(sentence[j],w2)==0)
		{
			index2[m]=j;	//indexes of w2
			m++;
		} 
	}
	
	if(m==0)	//condition if suppose both the words are same
		printf("%d",l-2);
	else
	{
		for(int j=0;j<l;j++)
		{
			for(int k=0;k<m;k++)
			{
				signed int diff;
				diff=index1[j]-index2[k];
 
				if(diff<0)					//to change the neg integer to pos integer
					diff=0-diff;
				if(diff<min)				//inorder to get the minimum value
					min=diff;
			}
		}
		printf("%d",min) ;
	}
	
	return 0;
}
Comment

PREVIOUS NEXT
Code Example
C :: how to declare 3dimensional arrays in wiring 
C :: Program optimization 
C :: i765 OPT filing fees october 2 
C :: ctest run specific test 
C :: float 
C :: changing an item in an array in c 
C :: vs code turn off formatter 
C :: youtube code 
C :: compile opencv program 
C :: mitch mcconnell 
C :: rpobleme valgrind 
Dart :: flutter appbar remove debug 
Dart :: flutter get millis time 
Dart :: materialstateproperty color 
Dart :: How to center AlertDialog FlatButton in Flutter 
Dart :: bad state insecure http is not allowed flutter 
Dart :: dart datetime difference 
Dart :: dart repeat function 
Dart :: flutter types class enum 
Dart :: flutter loading images over network 
Dart :: flutter datetime.now only time 
Dart :: dart move item in list 
Dart :: convert string to float .0 dart 
Dart :: linearprogressindicator flutter 
Dart :: dart convert int to string 
Dart :: get direction routes in mapbox flutter 
Dart :: flutter getit reset 
Dart :: get index of element in map dart 
Dart :: dart getter 
Dart :: color textfield text flutter 
ADD CONTENT
Topic
Content
Source link
Name
8+7 =