Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wagnermoliveira

[Resolvido] Como unir tres matrizes unidemensional em uma unica

Recommended Posts

Bom to começando a aprender programaçao agora, e o professor pediu o seguinte exercio:

Ler 3 matrizes A, B e C, de uma dimensão com 5 elementos cada. Construir uma matriz D, sendo esta a junção das outras 3 matrizes. Desta forma D deve conter o triplo de elementos, ou seja, 15. Apresentar a matriz D.

Entao, consegui fazer ate aki:

#include<conio.h>
#include<stdio.h>
main(){
	   int a[5],b[5],c[5],d[15];
	   int i,j;
	   for(i=0;i<=4;i++){
			  a[i]=i;
			  b[i]=i;
			  c[i]=i;
			  printf("%d\n",a[i]);
			  printf("%d\n",b[i]);
			  printf("%d\n",c[i]);
	   }
	   getche();
}
Agora como se junta isso na matriz d?

 

Se alguem puder ajuar, fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, segue o código já modificado. OBS: os IF são desnecessários

 

#include<conio.h>
#include<stdio.h>
main(){
	   int a[5],b[5],c[5],d[15];
	   int i,j,k;
	   int l;
	   j=4;
	   k=9;

	   for(i=0;i<=4;i++){
			  j++;
			  k++;
			  a[i]=i;
			  b[i]=i;
			  c[i]=i;
			  d[i]=a[i];
			  if(j<=9) d[j]=b[i];
			  if(k<=15) d[k]=c[i]; 
			  printf("%d\n",a[i]);
			  printf("%d\n",b[i]);
			  printf("%d\n",c[i]);
	   }
	   for(l=0;l<=14;l++)
	   printf("%d", d[l]);

	   getche();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra ficar mais tranquilo de entender pode ser feito em 3 loops separados.

Algo desse tipo:

 

int j =0;

for(int i=0; i<5; i++){
   d[j] = a[i];
   j++;
}

for(int i =0; i<5; i++){
   d[j] = b[i];
   j++;
}

.
.
.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz de uma forma diferente utilizando um for apenas no processamento

 

/* Função : Ler 3 matrizes A, B e C, de uma dimensão com 5 elementos cada. Construir uma 
			matriz D, sendo esta a junção das outras 3 matrizes. Desta forma D deve conter 
			o triplo de elementos, ou seja, 15. Apresentar a matriz D.  
   Autor : Adriano - F5cursos.com
*/
#include <stdio.h>
#include <conio.h>

main(){

//Definição de variaveis
int i, vetorA[5], vetorB[5], vetorC[5], vetorD[15];

//Entrada de dados
for(i=0; i<5; i++)
{
   printf("\n\n Informe o %d%c valor do vetor A : ", i+1, 167);  
   scanf("%d", &vetorA[i]); 
   system("cls"); 
}
for(i=0; i<5; i++)
{
   printf("\n\n Informe o %d%c valor do vetor B : ", i+1, 167);  
   scanf("%d", &vetorB[i]);
   system("cls");   
}
for(i=0; i<5; i++)
{
   printf("\n\n Informe o %d%c valor do vetor C : ", i+1, 167);  
   scanf("%d", &vetorC[i]);
   system("cls");   
}
//Processamento
for(i=0; i<5; i++)
{
   vetorD[i]=vetorA[i];
   vetorD[i+5]=vetorB[i];
   vetorD[i+10]=vetorC[i];
}   
//Saida em tela   
for(i=0; i<15; i++) 
{
   printf(" Vetor indice [%d]\tElemento: %d \n",i, vetorD[i]); 
}
  
system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é boa, só faltou trocar o nome dos vetores.

 

for(i=0; i<5; i++)
{
   vetorD[i]=vetorA[i];
   vetorD[i+5]=vetorB[i];
   vetorD[i+10]=vetorC[i];
}

Opsss verdade

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.