Program to find Smallest and Largest Word in a String in C++

C++Server Side ProgrammingProgramming

In this problem, we are given string str. Our task is to create a program to find Smallest and Largest Word in a String in C++.

Problem Description − Here, we have a string we need to find the word whose length is maximum and minimum out of all words in the string. The word is separated using white spaces or null(\0) characters.

Let’s take an example to understand the problem


str = “Learn Programming at TutorialsPoint”


smallest word = at
largest word = Tutorialspoint

Solution Approach

To find the smallest and largest word, we will find the length of each word by using two indexes, one for the start of the word and one for the ending which is marked using the ‘ ’ (space character) or ‘\0’ character. Then using the start and end index, we will find the maxLength and minlength. And update the smallestWord and largestWord based on the current word’s length.

Program to illustrate the working of our solution


 Live Demo

using namespace std;
void minMaxLengthWords(string str){
   int StrLength = str.length();
   int startIndex = 0, endIndex = 0;
   int minLength = StrLength, maxLength = 0, currentLength;
   string smallest, largest;
   while (endIndex <= StrLength){
      if (str[endIndex] != '\0' && str[endIndex] != ' ')
         currentLength = endIndex - startIndex;
         if (currentLength < minLength){
            smallest = str.substr(startIndex, currentLength);
            minLength = currentLength;
         if (currentLength > maxLength){
            largest = str.substr(startIndex, currentLength);
            maxLength = currentLength;
         startIndex = endIndex;
   cout<<"Smallest Word from the string is "<<smallest<<"
";    cout<<"Smallest Word from the string is "<<largest; } int main() {    string a = "Learn Programming at TutorialsPoint";    minMaxLengthWords(a); }


Smallest Word from the string is at
Smallest Word from the string is TutorialsPoint
Updated on 17-Sep-2020 04:50:56