Ir para conteúdo

POWERED BY:

Douglas Nickson

Duplicar elementos da string

Recommended Posts

Boa noite, pessoal!

Minha professora passou uma lista de exercícios e estou com dificuldade na seguinte questão:

 

5 - Crie uma função que duplique cada caractere de uma string dada pelo usuário e exiba ao final a string modificada.

 

Alguem poderia me da uma luz de como faço pra resolver isso, não precisa o código todo, apenas a parte de duplicar os elementos da string..

 

Fico agradecido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria uma string com o mesmo tamanho da primeira e copia os caracteres p/ ela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Douglas, bem simples isso ... Achei no google rapidinho.... a liguangem C tem um função para isso chamada strcpy

 

 

/* strcpy example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str1[]="Sample string";
  char str2[40];
  char str3[40];
  strcpy (str2,str1);
  strcpy (str3,"copy successful");
  printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/07/2016 at 11:51, _Isis_ disse:

Cria uma string com o mesmo tamanho da primeira e copia os caracteres p/ ela.

Isso não irá duplicar os caracteres de uma string nessa mesma string. Irá apenas criar uma outra string exatamente igual a primeira e sem os caracteres duplicados. Ele quer que modifique uma string e não que crie outra. 

Em 11/07/2016 at 20:37, gust.php disse:

Douglas, bem simples isso ... Achei no google rapidinho.... a liguangem C tem um função para isso chamada strcpy

A função strcpy apenas faz a cópia de uma string em outra. Ela não faz a duplicação dos caracteres da string nela mesma. É necessário programar uma função para isso. Aqui está um exemplo: 

void duplica(char *str, char *nova_str){
  int i,j=0,tamanho;
  tamanho=strlen(str);
  for(i=0;i<tamanho;i++){
    nova_str[j]=str[i];
    nova_str[j+1]=str[i];
    j=j+2; 
  }
  nova_str[j]='\0';
}   

int main(){
  char str1[40]="abcde";
  char str2[40];
  duplica(str1,str2);
  printf("%s",str2);
  system("pause");    
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.