Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: PHByte en 22 Enero 2016, 12:13 PM

Título: Duplicar un caracter en una cadena
Publicado por: PHByte en 22 Enero 2016, 12:13 PM
Buenas, el ejercicio me pide una funcion que reciba un caracter y una cadena, y de como resultado otra cadena igual pero con el caracter recibido duplicado. Ejemplo: duplica ('o' ,"hola adios" ) ------------------> "hoola adioos"

No consigo hacer que lo duplique, pao lo que tengo con la funcion incompleta:

#include <stdio.h>
#include <string.h>
#define TAM 100

//declaro funcion
void duplica (char letra, char cadena[]);

//programa principal
main(){
        char cadena[TAM],letra;
       
          printf("\nIntroduce una frase: ");
       gets(cadena);
          printf("\nLetra que quieras duplicar: ");
          scanf("%c",&letra);
          duplica(letra,cadena);
}

//desarrollo la funcion
void duplica (char letra, char cadena[]){
   int i;
   for(i=0;i<strlen(cadena);i++){
      if(cadena==letra){
         
      }
   }
   printf("\n\nFrase con letras duplicadas: %s",cadena);

}
Título: Re: Duplicar un caracter en una cadena
Publicado por: fary en 22 Enero 2016, 12:58 PM
Aquí tienes tu solución, intenta usar las etiquetas para poner código, es mucho mas fácil leerlo...  :xD

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void DuplicaLetraEnCadena(char * Cadena, char Letra);

int main()
{
   char cadena[255];
   char letra;

   printf("Introduce una frase: ");
   fgets(cadena, 255, stdin);

   printf("Introduce la letra a duplicar: ");
   scanf("%c",&letra);

   DuplicaLetraEnCadena(cadena, letra);
   return 0;
}

void DuplicaLetraEnCadena(char * Cadena, char Letra)
{
   int i;

   for (i = 0; i < strlen(Cadena); i++)
   {
       if(Cadena[i] == Letra)
       {
           printf("%c%c", Cadena[i], Cadena[i]);
       }else{
           printf("%c", Cadena[i]);
       }
   }
}


saludos.
Título: Re: Duplicar un caracter en una cadena
Publicado por: PHByte en 22 Enero 2016, 13:26 PM
Muchisimas gracias! Tendre en cuenta las citaciones para proximas veces :D
Título: Re: Duplicar un caracter en una cadena
Publicado por: 0xFer en 22 Enero 2016, 16:10 PM
Cita de: PHByte en 22 Enero 2016, 13:26 PM
Muchisimas gracias! Tendre en cuenta las citaciones para proximas veces :D

Él se refiere a esta etiqueta:

(http://i.imgur.com/c8wy5q0.png)

Saludos.
Título: Re: Duplicar un caracter en una cadena
Publicado por: MAFUS en 22 Enero 2016, 18:18 PM
Debería de renombrarse a 'Código en lenguaje...'