Ir para conteúdo
Fórum Script Brasil
  • 0

Duplicar elementos da string


dnick

Pergunta

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.

alguém 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!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Para esse problema, você terá de saber sobre laço de repetição.

eu faria o seguinte:

Criaria 2 vetores, um para ler a string "frase", e outro para conversão da string "conversao" também criaria duas variáveis  "j,i" para serem os indexs cada caractere e uma variável "tam" para receber o tamanho da string através da função strlen(). logo após jogaria no laço de repetição de modo que o laço repita i=i+1 até que seja do tamanho da string digitada, ou seja, "frase". O que acontece neste momento é o J iniciado em 0 bem como o i, e j será o index do vetor conversao[] e i o index do vetor frase[], desse modo para cada letra do vetor frase na posição i , o vetor conversao na posição j receberá frase na posição i, e conversao na posição j + 1 receberá novamente frase na posição i. a cada vez que o laço se repetir j terá de receber j+2 para que I não sobreponha j nas repetições de caracteres. É provável que isso não tenha ficado muito claro, porei o código apenas para fazer uma ilustração do que tentei explicar. Tente entender antes de olhar o código.

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


int main()
{
    int i,j,tam; // declaração da variavel index's e da variavel que receberá o tamanho da string
    char frase[100],conversao[100]; // declaração de vetores
    
    printf("Digite uma frase: ");
    gets(frase); // ler a string incluindo o espaço
    printf("\n");
    
    tam = strlen(frase); // a funcao strlen() lê o tamanho da string e atribui a variavel tam.
    
    for (i=0,j=0;i <= tam; i++) // inicio do laco de repeticao
    {
        conversao[j]=frase; // conversao na posicao j recebendo frase na posicao i
        conversao[j+1]=frase; // conversao na posicao j+1 recebendo frase na posicao i novamente.
        j=j+2; // a cada dois caracteres o vetor conversao na posicao j tera de receber frase na posicao i novamente
               // portanto, faz-se necessário que j pule duas posições para que conversao na posicao j não seja substituido por frase na posicao i
    }
    
    printf("A String modificada e: %s",conversao); // resultado final
    
}

Editado por 50Haw
erro numa exposição de ideia.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...