
Concept explainers
Two String values are passed as input. Find if the second string s2 is a substring of the first string
s1. If it is, print the index of the first occurrence.Else print -1.
Input
make123India
123
Output
4
*/
#include<iostream>
#include<string.h>
using namespace std;
int isSubstring(string s1, string s2)
{ int temp,j;
for(int i=0;s1[i]!='\0';i++)
{
j=0;
if(s1[i]==s2[j])
{
temp=i+1;
while(s1[i]==s2[j])
{
i++;
j++;
}
if(s2[j]=='\0')
{
return temp-1;
}
else
{
i=temp;
temp=0;
}
}
}
if(temp==0)
return -1;
}
int main(int argc, char const *argv[])
{
string s1,s2;
getline(cin,s1);
getline(cin,s2);
int res = isSubstring(s1,s2);
if(res==-1)
cout<<res;
else
cout<<"Found at index: "<<res;.

Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 2 images

- Exercise #3: Character Counts Write a c++ program that prompts the user to enter a string, calls the function lowerUpperDigits( ) which takes a string and counts the number of lower, upper, and digit characters in the string. The main program prints the number of found characters. int lowerUpperDigits(string, int&, int&); Sample input / output:arrow_forward// JumpinJava.cpp - This program looks up and prints the names and prices of coffee orders.// Input: Interactive// Output: Name and price of coffee orders or error message if add-in is not found #include <iostream>#include <string>using namespace std; int main(){ // Declare variables. string addIn; // Add-in ordered const int NUM_ITEMS = 5; // Named constant // Initialized array of add-ins string addIns[] = {"Cream", "Cinnamon", "Chocolate", "Amaretto", "Whiskey"}; // Initialized array of add-in prices double addInPrices[] = {.89, .25, .59, 1.50, 1.75}; bool foundIt = false; // Flag variable int x; // Loop control variable double orderTotal = 2.00; // All orders start with a 2.00 charge int findItem(); // Get user input cout << "Enter coffee add-in or XXX to quit: "; cin >> addIn; // Write the rest of the program here. findItem(); foundIt = false x = 0 while(x < NUM_ITEMS) if…arrow_forward// ChangeCase.cpp - This program converts characters to lowercase and uppercase.// Input: Interactive// Output: Uppercase and lowercase versions of the user-entered string#include <iostream>#include <string>using namespace std;int main() { const int LEN = 9; char sample1[LEN]; char sample2[LEN]; char result1; char result2; int i; cout << "Enter 9 lowercase characters: "; for(i = 0; i < LEN; i++) { cin >> sample1[i]; // Convert sample1[i] to uppercase and assign it to result1 cout << result1 << endl; } cin.ignore(256,'\n'); cout << "Enter 9 uppercase characters: "; for(i = 0; i < LEN; i++) { cin >> sample2[i]; // Convert sample2[i] to lowercase and assign it to result2 cout << result2 << endl; } cin.ignore(256,'\n'); return 0;} // End of main() functionarrow_forward
- // JumpinJava.cpp - This program looks up and prints the names and prices of coffee orders. // Input: Interactive // Output: Name and price of coffee orders or error message if add-in is not found #include <iostream> #include <string> using namespace std; int main() { // Declare variables. string addIn; // Add-in ordered const int NUM_ITEMS = 5; // Named constant // Initialized array of add-ins string addIns[] = {"Cream", "Cinnamon", "Chocolate", "Amaretto", "Whiskey"}; // Initialized array of add-in prices double addInPrices[] = {.89, .25, .59, 1.50, 1.75}; bool foundIt = false; // Flag variable int x; // Loop control variable double orderTotal = 2.00; // All orders start with a 2.00 charge // Get user input cout << "Enter coffee add-in or XXX to quit: "; cin >> addIn; // Write the rest of the program here. return 0; } // End of main()arrow_forwardint main(){ string str; int count = 0; // user input cout << "Enter string: "; cin >> str; int n = str.length(); // iterating over the string for (int i = 0; i < n - 1; i++) { // calling the fucntion to find the palidrome strings from the user input if (isPalindrome(0, i, str) && isPalindrome(i + 1, n - 1, str)) { // if 2 substring are palindrome then print them and increment count for (int x = 0; x < i + 1; x++) cout << str[x]; cout << " "; for (int x = i + 1; x < n; x++) cout << str[x]; count++; // break the loop after printing the palindrom string break; } } // if count is 0 then no palindrome subtring pair found if (count == 0) cout << "NO";} change this code to stdio.h string.harrow_forwardinclude #include using namespace std; int main() { char str[20]; //Step 1 //Input string from user cout<>str; //Step 2 // Start traversing the string str for (int i=0; str[i] != '\0'; i++) { //Step 3 // If character is 'e' if (str[i]=='e') { // Replace that character with 'x' str[i] = 'x'; } } //Step 4 // Display the string cout<arrow_forward
- C++ this is my code so far need help with part 9 #include <iostream> #include <string> using namespace std; int GetNumOfNonWSCharacters(const string text); int GetNumOfWords(const string text); int FindText(string text, string sample_text); string ReplaceExclamation(string text); string ShortenSpace(string text); char PrintMenu(){ char option; cout << "\nMENU"<<endl; cout << "c - Number of non-whitespace characters"<<endl; cout << "w - Number of words"<<endl; cout << "f - Find text"<<endl; cout << "r - Replace all !'s"<<endl; cout << "s - Shorten spaces"<<endl; cout << "q - Quit"<<endl; cout<<endl; cout << "Choose an option:"<<endl; cin >> option; return option; } void ExecuteMenu(string sample_text,char option){ if(option == 'c'){ int nonWSCharacters = GetNumOfNonWSCharacters(sample_text); cout << "Number of non-whitespace characters:…arrow_forwardString.ParseInt(m); will convert the integer value of m to a String True Falsearrow_forwardPlease modify the following code using getline(cin,strObj) with cout<<strObj<<endl; or getline(infile,strObj) with outfile<<strObj<<endl; #include <iostream>#include <fstream>#include <cstdlib> #include <string> int main(){string fileOne = "info.txt"; // put the filename up frontstring fileTwo = "info.bak";char ch;ifstream inFile;ofstream outfile;try //this block tries to open the input file{// open a basic input streaminFile.open(fileOne.c_str());if (inFile.fail()) throw fileOne;} // end of outer try blockcatch (string in) // catch for outer try block{cout << "The input file " << in<< " was not successfully opened." << endl<< " No backup was made." << endl;exit(1);}try // this block tries to open the output file and{ // perform all file processingoutfile.open(fileTwo.c_str());if (outfile.fail())throw fileTwo;while ((ch = inFile.get())!= EOF)outfile.put(ch);inFile.close();outfile.close();}catch…arrow_forward
- This doesn't solve the problem nor does it implement the below. int main() { std::string time; std::cout << "Enter the time as (hh:mm xm) "; std::getline(std::cin, time); /* Type your code here. */ return 0;}arrow_forwardC++ PLEASE!! // FILE: simplestring.h// CLASS PROVIDED: string (a sequence of characters)//// CONSTRUCTOR for the string class:// string(const char str[ ] = "") -- default argument is the empty string.// Precondition: str is an ordinary null-terminated string.// Postcondition: The string contains the sequence of chars from str.//// CONSTANT MEMBER FUNCTIONS for the string class:// size_t length( ) const// Postcondition: The return value is the number of characters in the// string.//// char operator [ ](size_t position) const// Precondition: position < length( ).// Postcondition: The value returned is the character at the specified// position of the string. A string's positions start from 0 at the start// of the sequence and go up to length( )-1 at the right end.//// MODIFICATION MEMBER FUNCTIONS for the string class:// void operator +=(const string& addend)// Postcondition: addend has been catenated to the end of the string.//// void operator +=(const char addend[ ])//…arrow_forward#include<bits/stdc++.h>using namespace std;bool isPalindrome(string &s){ int start=0; int end=s.length()-1; while(start<=end) { if(s[start]!=s[end]) { return false; } start++; end--; } return true;}int main(){ string s; cout<<"ENTER STRING:"; getline(cin,s); int n=s.length(); bool flag=true; for(int i=1;i<n;i++) { string lowerHalf=s.substr(0,i); string upperHalf=s.substr(i,n-i); if(isPalindrome(lowerHalf) && isPalindrome(upperHalf)) { flag=false; cout<<"String A is:"<<lowerHalf<<"\n"; cout<<"String B is:"<<upperHalf<<"\n"; break; } } if(flag) { cout<<"NO\n"; } return 0;} change to stdio.h string.harrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





