dnick Postado Julho 10, 2016 Denunciar Share Postado Julho 10, 2016 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 50Haw Postado Julho 10, 2016 Denunciar Share Postado Julho 10, 2016 (editado) 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 Julho 10, 2016 por 50Haw erro numa exposição de ideia. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
dnick
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
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.