elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda con otro función en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda con otro función en c  (Leído 1,141 veces)
fernaEDLP

Desconectado Desconectado

Mensajes: 48


Ver Perfil
duda con otro función en c
« en: 29 Noviembre 2018, 03:13 am »

Gente linda como andan?, espero que anden bien, necesito otra ayudita, el problema dice esto:

La siguiente función imprime de manera iterativa una cadena de caracteres:
void imprimir_iter(char * pcad){
while(*pcad != '\0'){
printf("%c",*pcad);
pcad++;
}
}
a) Realice la versión recursiva de la función anterior.
b) Modifique la función recursiva para que imprima la cadena inv

hasta ahora hice esto y parece que mi pc va a estallar:

void imprimir_ite(char *pcad);


int main()
{
    char cad[80];
    printf("ingrese la cadena de caracteres\n");
    gets(cad);
    imprimir_ite(cad);
    return 0;
}


void imprimir_ite(char *pcad)
{
    if(*pcad!='\0')
    {
        printf("%c",*pcad);
        pcad++;
        imprimir_ite(*pcad);

    }
    return;
}
les cuento en aparecen 2 errores, uno en la linea 21 que dice que estoy definiendo un puntero entero sin conversión??¿ y otro en la 16 que dice que espera un char pero recibe un entero?¿,
es obvio que el problema esta en la arquitectura de mi funcion





















En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.667


🏴 Libertad!!!!!


Ver Perfil WWW
Re: duda con otro función en c
« Respuesta #1 en: 29 Noviembre 2018, 03:24 am »

Hola antes que nada en el panel cuando redactas un mensaje hay un box que dice Código GeSHi, si lo despliegas aparece una lista de lenguajes buscas C y pegas tu código adentro.

El problema es siguiente:

TU CODIGO

Código
  1. void imprimir_ite(char *pcad)
  2. {
  3.    if(*pcad!='\0')
  4.    {
  5.        printf("%c",*pcad);
  6.        pcad++;
  7.        imprimir_ite(*pcad);
  8.  
  9.    }
  10.    return;
  11. }
  12.  

En TEORIA Corregido:

Código
  1. void imprimir_ite(char *pcad)
  2. {
  3.    if(*pcad!='\0')
  4.    {
  5.        printf("%c",*pcad);
  6.        pcad++;
  7.        imprimir_ite(pcad);
  8.  
  9.    }
  10.    return;
  11. }
  12.  

No se, ni verifique tu codigo "ITERATIVO", pero como pcad ya es un apuntador, no necesitas colocarle el * antes de cada uso, eso se puede prestar para otras operaciones pero en este caso no.

Saludos


« Última modificación: 29 Noviembre 2018, 03:30 am por AlbertoBSD » En línea

Publickey: 03b8b1bf1830c8d407870001ec0e7badb7a6632255fb0051284b14f53791bd6087
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
fernaEDLP

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: duda con otro función en c
« Respuesta #2 en: 29 Noviembre 2018, 04:01 am »

Funciona!! graciass Alberto!
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.667


🏴 Libertad!!!!!


Ver Perfil WWW
Re: duda con otro función en c
« Respuesta #3 en: 29 Noviembre 2018, 04:34 am »

Por si tienes dudas

te explico para que no exista confusión.


Código:
void imprimir_ite(char *pcad)

Se declara que la variable que recibe imprimir_ite es Apuntador char *pcad
Código:
   if(*pcad!='\0')
 

*pcad nos indica o devuelve el VALOR apuntado por pcad en ese momento para realizar la comparacion
Código:
       printf("%c",*pcad);
Lo mismo que lo anterior, nos devuelve el valor apuntado por pcad, esto podria ser equivalente a

Código:
printf("%c",pcad[0]);

Código:
   if(pcad[0]!='\0');


Código:
       pcad++;
Incrementamos el valor de apuntador en 1


Código:
       imprimir_ite(pcad);

Pasamos como argumento el apuntador pcad, sin * por que con * es el valor apuntado en ese momento. y sin * es el apuntador como tal,

Saludos
« Última modificación: 29 Noviembre 2018, 04:40 am por AlbertoBSD » En línea

Publickey: 03b8b1bf1830c8d407870001ec0e7badb7a6632255fb0051284b14f53791bd6087
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
fernaEDLP

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: duda con otro función en c
« Respuesta #4 en: 29 Noviembre 2018, 04:40 am »

graciass de nuevo, claro como el agua!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con funcion dentro de funcion en un echo
PHP
N4X 6 5,347 Último mensaje 21 Enero 2010, 18:12 pm
por N4X
Duda con funcion
PHP
octavioxd 8 2,987 Último mensaje 9 Febrero 2010, 12:29 pm
por N4X
¿Es correcto hacer esto para que otro thread ejecute una función?
Ingeniería Inversa
Zequez 3 2,738 Último mensaje 18 Febrero 2010, 22:47 pm
por MCKSys Argentina
Como llamar a una función en otro formulario?
.NET (C#, VB.NET, ASP)
9ttnix 1 8,167 Último mensaje 14 Marzo 2012, 16:03 pm
por Novlucker
Duda para rotar un punto en función de otro
Programación C/C++
SrCooper 2 4,472 Último mensaje 5 Abril 2014, 19:19 pm
por SrCooper
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines