SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: GERMAN234678 en Jueves 10 de Noviembre de 2016, 14:15
-
Desarrolle un programa el cual debe almacenar en una variable el texto : “Pablito clavó un clavito. ¿Qué clavito clavó Pablito?” como arreglo char .
Mediante el uso de punteros recorra la variable anterior y genere una nueva cadena donde se reemplace la letra “a” por “@”, la letra “e” por “$”, la letra “i” por “#”, la letra “o” por “&” y la letra “u” por “?”.
El programa al final debe desplegar la frase original y la resultante después del remplazo de las letras indicadas.
#include <iostream>
using std::cout;
using std::endl;
int mi_funcion_B;
int mi_funcion_a;
int main()
cout<<"la primera cadena es "<<mi_funcion_a(a)<<endl;
cout<<"El numero menor de la matriz es "<<mi_funcion_B(cp)<<endl;
int mi_funcion_a(char *ptr)
{
char a[] = "Pablito clavó un clavito. ¿Qué clavito clavó Pablito";
return a;
}
int mi_funcion_B(char *ptr)
{
char *cp = "FGHIJ";
return cp;
}
-
Hola German, con punteros podría ser algo así, recorro con el for la cadena de a y en el switch voy asignando si es algunas de las letras que quieres cambiar, sin punteros casi sería más fácil :think:, añade al switch los caracteres que quieras, al final quedará a con la cadena original y b con la modificada, espero te sirva, un saludo.
char a[] = "Pablito clavó un clavito. ¿Qué clavito clavó Pablito";
char b[] = "Pablito clavó un clavito. ¿Qué clavito clavó Pablito";
char *ptra;
char *ptrb;
int n;
for(ptra = (char*)&a, ptrb = (char*)&b, n=0;n<sizeof(a)-1;n++,ptra++, ptrb++)
{
switch (*ptra)
{
case 'a': *ptrb = '@'; break;
case 'e': *ptrb = '$'; break;
case 'i': *ptrb = '#'; break;
default: *ptrb = *ptra;
}
}
-
muchas gracias amigo me ayudasde mucho de verdad muchas gracias :