Buscar Caracter y Calcular la Longitud de una Cadena C++

septiembre 18, 2009 at 12:32 am (Cpp)

Bueno, leyendo un manual de C++ proponian unos problemas (2), yo los he hecho en un solo programa, los problemas consistían en buscar un caracter concreto en una cadena, dando como parámetros la cadena y el caracter y el otro problema consistía en calcular la longitud de una cadena dando como parámetro un puntero a char, aquí está el programa:

V1:
#include
using namespace std;

int LongitudCadena(char *cadena[]);
int BuscaCaracter(char cadena[], char caracter[]);

int main()
{
char *cadena = "Saambala";
char Cadena[9] = "Saambala";
char caracter[2] = "m";
cout << "Logitud de " << cadena << ": " << LongitudCadena(&cadena) << endl;
cout << "El caracter m en la cadena " << Cadena << " se encuentra en la posicion: " << BuscaCaracter(Cadena, caracter) << endl;
system("pause");
}

int LongitudCadena(char *cadena[])
{
int j = 0;
while(cadena[j] != NULL) { j++; }
return (j+1)/2;
}

int BuscaCaracter(char cadena[], char caracter[])
{
int i = 0, j = 0;
while(cadena[i] != caracter[j]) { i++; }
return i+1;
}

Con un if en vez de un while, o un for también habría funcionado, pero bueno, vi una especie de plantilla con while y decidí hacerlo así. La longitud de cadena tuve que dividirla entre 2, no se por qué me da el doble del resultado O.o. Ya he comprendido la utilidad de los punteros, aunque aun no les he aprendido a sacar mucho partido.. Se para qué y cómo se usan (tipo *puntero; puntero = &variablequeapuntan; *puntero++ equivale a variablequeapuntan++, puntero++ aumenta en 1 la posición que apuntan y como parámetro de funciones siempre poner la direccion a la que apuntan, &puntero. RESUMEN), pero aun no veo DONDE se usan xD. En otro ejemplo se podría apreciar que un vector de punteros a char (ejemplo) solo necesita una dimensión, en cambio un array char, necesita 2 dimensiones para almacenar 12 meses con 11 carácteres de máximo cada uno, ejemplo, repito, y bueno, todo esto sobre los punteros, iré probándolos mas a menudo =D.

Gracias.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: