Duplicar un caracter en una cadena

Iniciado por PHByte, 22 Enero 2016, 12:13 PM

0 Miembros y 1 Visitante están viendo este tema.

PHByte

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);

}

fary

#1
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.
Un byte a la izquierda.

PHByte

Muchisimas gracias! Tendre en cuenta las citaciones para proximas veces :D

0xFer

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:



Saludos.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

MAFUS

Debería de renombrarse a 'Código en lenguaje...'