Home » C++ programs » C++ Most popular & searched programs

Find last index of a character in a string using C++ program

In this post, we are going to learn: how we can find the last index of a character in a string using C/C++ program using simple method?

Given a string, and we have to find last index of a character using C program.

Examples:

Enter string: Hello world!
Enter character: o
Last index of 'o' is: 7 

Enter string: Hello world!
Enter character: H
Last index of 'H' is: 0 

Enter string: Hello world!
Enter character: z
'z' is not found in the string

Solution:

  • Read a string str and character ch whose last index to be found.
  • Get the length of the string (length).
  • Run loop from length-1 to 0.
  • Check character with each character of the string, if it is found return the index (loop counter's value) (which will be the result).
  • If character not found (after the loop), return -1.
  • Call the function in the main program, if return value is -1 that means character not found in the string else store the index in the variable (index).
  • Print the index.

Consider the program:



#include <iostream>
#include <string.h>
using namespace std;

//function to get lastt index of a character 
int getLastIndex(char *s, char c)
{
	int length;
	int i; //loop counter
	//get length
	length = strlen(s);
	
	//run loop from length-1 to 0
	for(i=(length-1); i>=0; i--)
	{
		//compare character with each charater of string
		if(s[i]==c)
			return i; //character found return index
	}
	
	//if character not found return -1
	return -1;	
}

//main programs
int main()
{
	char str[100]; //maximim 100 characters
	char ch; //character to find
	int index;  //to store index
	
	cout<<"Enter string: ";
	//read with spaces too
	cin.getline(str,100);
	
	cout<<"Enter character: ";
	cin>>ch;
	
	index = getLastIndex(str,ch);
	
	//if index is not -1 then print its index
	if(index!=-1)
		cout<<"Last index of \'"<<ch<<"\' is: "<<index<<endl;
	else
		cout<<"\'"<<ch<<"\' is not found in the string"<<endl;
		
	return 0;	
}

Output

First run:
Enter string: Hello world!
Enter character: o
Last index of 'o' is: 7 

Second run:
Enter string: Hello world!
Enter character: H
Last index of 'H' is: 0 

Third run:
Enter string: Hello world!
Enter character: z
'z' is not found in the string 





Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.