Informática, perguntado por MarcosPaulo5, 9 meses atrás

Desenvolva um algoritmo para ler dois vetores de 5 elementos cada. Depois crie uma matriz de 2 dimensões, em que a primeira coluna deve ser formada pelos elementos do vetor 1 e a segunda coluna formada pelos elementos do vetor 2. Mostrar a matriz.

Consegui fazer o que está no arquivo até agora.

Anexos:

Soluções para a tarefa

Respondido por CarlosESB1
1

Resposta:

#include <stdio.h>

#include <stdlib.h>

int main(void){

int i, j, vetA[5], vetB[5], matriz[5][2];

printf("Informe alguns numeros para o vetor A: \n");

for(i=0; i<5; i++){

 scanf("%d", &vetA[i]);

}

printf("\nInforme alguns numeros para o vetor B: \n");

for(j=0; j<5; j++){

 scanf("%d", &vetB[j]);

}

printf("\nMatriz C: \n");

for(i=0; i<5; i++){

 for(j=0; j<2; j++){

   if(j == 0){

     matriz[i][j] = vetA[i];

   }else{

     matriz[i][j] = vetB[i];

   }

   printf("%d ", matriz[i][j]);

 }

 printf("\n");

}

}

Explicação:

Então, no seu código, você fez os primeiros passos corretos, escaneou tudo certo. Mas quando você foi armazenar os valores dos vetores nas respectivas posições da matriz, você errou. Você só estava passando o vetor A para as duas colunas do vetor, por isso o resultado está saindo o mesmo. Na verdade o que você tem que fazer é uma condição, como o exercício quer que você armazene na primeira coluna os valores do vetor A, você faz um if(j == 0), ou seja, se estamos na primeira coluna, se sim, a gente armazena o valor do vetor A da posição i naquela posição da matriz. Se j == 1, estamos na segunda coluna da matriz, então armazene o valor do vetor B da posição i naquela posição da matriz. E assim sucessivamente para as outras linhas da matriz. Se não ficou claro, pode comentar aí que eu explico de novo.


MarcosPaulo5: Muito obrigado! Entendi muito bem o que vc quis dizer e consegui consertar o meu código.
Perguntas interessantes