Oi pessoal, não sei porque meu codigo não está retornando o resultado esperado. Alguém pode me ajudar ?
segue abaixo o enunciado da questão e o meu codigo.
Sejam x e y dois vetores de inteiros ordenados crescentemente, respectivamente.
Escreva uma função recursiva para encontrar o k-ésimo elemento do vetor xy. O vetor
xy é a concatenação, ordenada, dos vetores x e y. O protótipo da função é:
int kEsimo(int nx, int ny, int *x, int *y, int k);
Por exemplo, dado o vetor x = (-2, 0, 1, 1, 5) e y = (-4, -3, -1, 1, 3, 6), o 9º elemento do
vetor xy será o 5. Observe que o vetor xy = (-4, -3, -2, -1, 0, 1, 1, 1, 3, 5, 6) não precisa
ser criado.
#include <stdio.h>
int kEsimo();
int main(){
int k,x[]={-2, 0, 1, 1, 5}, y[]={-4, -3, -1, 1, 3, 6};
printf("Digite a posicao do k-esimo elemento: \n");
scanf("%d",&k);
printf("%dº elemento do vetor xy será o %d",k,kEsimo(5,6,&x,&y,k));
return 0;
}
int kEsimo(int nx, int ny, int *x, int *y, int k){
int n = nx + ny;
int i=0,j=0;
//printf("%d\n",x[3]);
if(n==0) return 0;
if(x[i]>y[j]){
if(i==k)
return x[i];
i++;
}else
{
if(j==k)
return y[j];
j++;
}
kEsimo(i,j,&x,&y,n-1);
}