Función C++ que devuelve la
posición de un carácter dentro de una cadena.
La función recibe un
puntero con la cadena y el carácter a buscar. Devuelve un entero con la
posición en la que fue encontrado el carácter ó -1 si no se encontró.
Prototipo
de la función:
int BuscaCaracter(char *s , char c).
int BuscaCaracter(char *s , char c).
#include
<iostream>
using
namespace std;
int
BuscaCaracter(char *, char);
int main()
{
char
cadena[80],car;
int pos;
cout <<
"Introduce cadena: ";
cin.getline(cadena, 80);
cout
<< "Introduce caracter: ";
cin.get(car);
pos=BuscaCaracter(cadena, car);
if(pos!= -1)
cout <<
"Encontrado en posicion ";
cout << pos << endl;
else
cout << "No
Encontrado\n";
system("pause");
}
//Función que devuelve la posición de un carácter dentro de una cadena
int
BuscaCaracter(char *s , char c)
{
char *p = s; //p es un puntero
auxiliar para recorrer la cadena
int cont=1; //contendrá la
posición donde se encuentra el carácter buscado
while (*p!=c
&& *p) //mientras no encuentre el carácter y
no llegue al nulo
{
cont++; //se aumenta la posición
p++; //siguiente elemento de la cadena
}
if(*p==c) //si se ha encontrado
return cont; //devuelve su posición
else
return -1; //sino devuelve -1
}
No hay comentarios:
Publicar un comentario