Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình tìm từ nhỏ nhất và lớn nhất trong chuỗi trong C ++

Trong bài toán này, chúng ta được cung cấp chuỗi str. Nhiệm vụ của chúng tôi là tạo một chương trình tìm kiếm Từ nhỏ nhất và lớn nhất trong một chuỗi trong C ++.

Mô tả sự cố - Ở đây, chúng ta có một chuỗi, chúng ta cần tìm từ có độ dài lớn nhất và nhỏ nhất trong số tất cả các từ trong chuỗi. Từ được phân tách bằng khoảng trắng hoặc ký tự rỗng (\ 0).

Hãy lấy một ví dụ để hiểu vấn đề

Đầu vào

str = “Learn Programming at TutorialsPoint”

Đầu ra

smallest word = at
largest word = Tutorialspoint

Phương pháp tiếp cận giải pháp

Để tìm từ nhỏ nhất và lớn nhất, chúng tôi sẽ tìm độ dài của mỗi từ bằng cách sử dụng hai chỉ mục, một cho phần đầu của từ và một cho phần cuối được đánh dấu bằng ký tự ‘’ (ký tự khoảng trắng) hoặc ‘\ 0’. Sau đó, sử dụng chỉ mục bắt đầu và kết thúc, chúng ta sẽ tìm thấy Độ dài tối đa và Độ dài tối thiểu. Cập nhật Từ nhỏ nhất và Từ lớn nhất dựa trên cường độ của từ hiện tại.

Chương trình minh họa hoạt động của giải pháp của chúng tôi

Ví dụ

#include<iostream>
#include<cstring>
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] != ' ')
         endIndex++;
      else{
         currentLength = endIndex - startIndex;
         if (currentLength < minLength){
            smallest = str.substr(startIndex, currentLength);
            minLength = currentLength;
         }
         if (currentLength > maxLength){
            largest = str.substr(startIndex, currentLength);
            maxLength = currentLength;
         }
         endIndex++;
         startIndex = endIndex;
      }
   }
   cout<<"Smallest Word from the string is "<<smallest<<"\n";
   cout<<"Smallest Word from the string is "<<largest;
}
int main() {
   string a = "Learn Programming at TutorialsPoint";
   minMaxLengthWords(a);
}

Đầu ra

Smallest Word from the string is at
Smallest Word from the string is TutorialsPoint