Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

×

Informação importante

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