Poderia dar um Help aqui
06/11/2016
0
Não tenho muita experiencia com Programacao em C.
Estou tendo que fazer essa atividade mas está dando errado .
"Faça um programa que contenha três vetores do tipo string. O primeiro vetor e o segundo devem armazenar respectivamente cinco nomes e sobrenomes digitados pelo usuário. O terceiro vetor deve receber em cada índice o nome e sobrenomes concatenados dos dois primeiros vetores. O programa deve exibir uma lista com todos os nomes completos armazenados no terceiro vetor e na frente de cada um deles a quantidade de caracteres que o mesmo possui."
Eu fiz assim, mas está dando erro.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char nome[5],nome2[5],copia[6];
int i;
for(i=0;i<3;i++){
//Vai digitar 5 nomes com sobrenomes
printf("\\nDigite 5 nomes com sobrenomes: ");
//string1
gets(nome);
}
for(i=0;i<3;i++){
printf("\\nFase 2");
//Vai digitar 5 nomes com sobrenomes
printf("\\nDigite 5 nomes com sobrenomes:");
gets(nome2);
}
strcat(nome[0],nome2[0]);
strcat(nome[1],nome2[1]);
strcat(nome[2],nome2[2]);
for(i=0;i<5;i++){
strcat(copia[0],nome[0]);
strcat(copia[1],nome[1]);
strcat(copia[2],nome[2]);
printf("Nomes concatenados = %s",copia,copia[i]);
}
system("pause");
return 0;
}
Estou tendo que fazer essa atividade mas está dando errado .
"Faça um programa que contenha três vetores do tipo string. O primeiro vetor e o segundo devem armazenar respectivamente cinco nomes e sobrenomes digitados pelo usuário. O terceiro vetor deve receber em cada índice o nome e sobrenomes concatenados dos dois primeiros vetores. O programa deve exibir uma lista com todos os nomes completos armazenados no terceiro vetor e na frente de cada um deles a quantidade de caracteres que o mesmo possui."
Eu fiz assim, mas está dando erro.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char nome[5],nome2[5],copia[6];
int i;
for(i=0;i<3;i++){
//Vai digitar 5 nomes com sobrenomes
printf("\\nDigite 5 nomes com sobrenomes: ");
//string1
gets(nome);
}
for(i=0;i<3;i++){
printf("\\nFase 2");
//Vai digitar 5 nomes com sobrenomes
printf("\\nDigite 5 nomes com sobrenomes:");
gets(nome2);
}
strcat(nome[0],nome2[0]);
strcat(nome[1],nome2[1]);
strcat(nome[2],nome2[2]);
for(i=0;i<5;i++){
strcat(copia[0],nome[0]);
strcat(copia[1],nome[1]);
strcat(copia[2],nome[2]);
printf("Nomes concatenados = %s",copia,copia[i]);
}
system("pause");
return 0;
}
Victor Cordeiro
Curtir tópico
+ 0
Responder
Post mais votado
07/11/2016
Olá Victor, tudo bem?
O problema do seu código é que você está declarando o vetor de strings de maneira incorreta.
O certo é usar assim:
char nome[5][100];
Onde o primeiro par de colchetes é o tamanho do vetor e o segundo é a quantidade máxima de caracteres de cada string do vetor.
Da forma que você fez, foi dito que naquela string haveria apenas uma palavra com 5 caracteres.
Segue abaixo o código que fiz para resolver o problema proposto.
O problema do seu código é que você está declarando o vetor de strings de maneira incorreta.
O certo é usar assim:
char nome[5][100];
Onde o primeiro par de colchetes é o tamanho do vetor e o segundo é a quantidade máxima de caracteres de cada string do vetor.
Da forma que você fez, foi dito que naquela string haveria apenas uma palavra com 5 caracteres.
Segue abaixo o código que fiz para resolver o problema proposto.
#include<stdio.h> #include<stdlib.h> #include<string.h> main(){ //Declaração de vetor de strings, onde o primeiro valor é o tamanho do vetor e o segundo o comprimento de cada string. char nome[5][100], sobrenome[5][100]; printf("Digite 5 nomes:\\\\n"); for(int i=0; i<5; i++){ scanf("%s", nome[i]); } printf("Digite 5 sobrenomes:\\\\n"); for(int i=0; i<5; i++){ scanf("%s", sobrenome[i]); } //Concatenando nome e sobrenome. for(int i=0; i<5; i++){ strcat(nome[i], " "); //deixa espaço entre nome e sobrenome para não ficarem grudados; strcat(nome[i], sobrenome[i]); //concatena nome e sobrenome; } printf("Os nomes completos sao:\\\\n"); for(int i=0; i<5; i++){ puts(nome[i]); printf("Tamanho do nome: %d\\\\n", strlen(nome[i])); //A função strlen é para indicar o tamanho da string passada como parâmetro. } }
Nathália Hirth
Responder
Clique aqui para fazer login e interagir na Comunidade :)