Giovanna Moreira Postado Setembro 22, 2020 em 16:47 Compartilhar Postado Setembro 22, 2020 em 16:47 Faça um programa que leia cinco palavras pelo teclado, e armazene cada palavra em uma string. Depois, copie somente as posições pares para outras 5 string. Por fim imprima as 10 strings. Consegui gerar apenas os caracteres das posições pares mas não consigo colocá-los dentro de uma string, alguém pode me ajudar? #include <stdio.h> #include <string.h> #define TAM 15 int main() { char str1[TAM], str2[TAM], str3[TAM], str4[TAM], str5[TAM], str6[TAM]; char str[TAM*5], i=0; /* Le todas as strings */ printf("\n\n Digite 5 strings, teclando <ENTER> ao final de cada uma:\n"); gets(str1); gets(str2); gets(str3); gets(str4); gets(str5); str[0] = '\0'; printf("\n"); printf("\n"); for(i=0; str1 !='\0'; i++) { if(i%2==0) printf("%c", str1); } printf("\n"); printf("\n"); for(i=0; str2 !='\0'; i++) { if(i%2==0) printf("%c", str2); } printf("\n"); printf("\n"); for(i=0; str3 !='\0'; i++) { if(i%2==0) printf("%c", str3); } printf("\n"); printf("\n"); for(i=0; str4 !='\0'; i++) { if(i%2==0) printf("%c", str4); } printf("\n"); printf("\n"); for(i=0; str5 !='\0'; i++) { if(i%2==0) printf("%c", str5); } return(0); } Link para o comentário Compartilhar em outros sites More sharing options...
cpuodzius Postado Setembro 28, 2020 em 11:39 Compartilhar Postado Setembro 28, 2020 em 11:39 Para conseguir fazer o que você quer, ao invés de imprimir os caractéres das posições pares no seu for, você tem que copiá-los em uma nova string e somente depois disso você vai imprimir as 10 strings. Ao invés de: `````{ if(i%2==0) printf("%c", str1); } você faz (por exemplo): { str6[I/2] = str1; } printf("%c", str1); printf("%c", str6); Mas você para funcionar você precisa declarar as "novas" strings alocando corretamente o espaço da memória e além disso você tem que faz um loop para cada string, porque elas podem ter tamanhos diferentes. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.