Q:

C++ program to find Last occurrence of a Number using Recursion in an array

belongs to collection: C++ programs on various topics

0

Given an array of length N and an integer x, you need to find and return the last index of integer x present in the array. Return -1 if it is not present in the array. Last index means - if x is present multiple times in the array, return the index at which x comes last in the array.

You should start traversing your array from 0, not from (N - 1). Do this recursively. Indexing in the array starts from 0.

Input Format:

  • Line 1 : An Integer N i.e. size of array
  • Line 2 : N integers which are elements of the array, separated by spaces
  • Line 3 : Integer x

Output Format: last index or -1

 

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Algorithm:

Step 1: To solve this using recursion, make a recursion function with inputs, and a variable currIndex to traverse the input array.

Step2: Base Case:- If currIndex == size of the input array, return -1, i.e element not found.

Step3: Take input of next recursion call ,withcurrIndex incremented by 1 , in a variable ‘index’.

Step 4:
If(index == -1 && input[currIndex] == x)
Return currIndex
Else
Return index;

C++ Source Code/Function:

#include<bits/stdc++.h>

using namespace std;

int lastIndex(int input[], int size, int x, int currIndex){
    if(currIndex== size){
        return -1;
    }

    int index = lastIndex(input,size,x,currIndex+1);
    
    if(index == -1 && input[currIndex] == x){
        return currIndex;
    }
    else{
        return index;
    }
}

int main(){
    int input[] = {9,8,10,8};
    int x = 8;
    int size = 4;
    cout<<lastIndex(input,size,x,0);

    return 0;
}

Output

 
3

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C++ programs on various topics

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C++ program to obtain Multiplication recursively... >>
<< C++ program to find first occurrence of a Number U...