Ajuda com Matriz
15/09/2008
0
Eu fiz esse programa, mas não consegui fazer a saida usando for, então fiz manualmente. Gostaria de saber se alguem pode me explicar como fazer em for.
O que eu quero é...
Eu tenho Matriz 1 3x3, Matriz 2 3x3 e a Matriz 3 3x6.
Eu quero montar a matriz 3 com uma coluna de cada da matriz 1 e 2.
Tipo, a coluna 1 da matriz 1 é a coluna 1 da matriz 3
a coluna 1 da matriz 2 é a coluna 2 da matriz 3
a coluna 2 da matriz 1 é a coluna 3 da matriz 3
e assim sucessivamente.
O que eu quero é...
Eu tenho Matriz 1 3x3, Matriz 2 3x3 e a Matriz 3 3x6.
Eu quero montar a matriz 3 com uma coluna de cada da matriz 1 e 2.
Tipo, a coluna 1 da matriz 1 é a coluna 1 da matriz 3
a coluna 1 da matriz 2 é a coluna 2 da matriz 3
a coluna 2 da matriz 1 é a coluna 3 da matriz 3
e assim sucessivamente.
#include <stdio.h> include <conio.h> include <time.h> include <stdlib.h> int main () { int matriz[3][3],matriz2[3][3],matriz3[3][6]; int cont,i; time_t hora; hora = time(NULL); srand(hora); /*função para gerar numeros randomicos*/ for (i=0;i<3;i++) { for (cont=0;cont<3;cont++) { matriz[i][cont] = ((rand()¬20)+1); /*atribui os numeros randomicos de 1 a 20 na matriz */ matriz2[i][cont]=((rand()¬20)+1); } } printf(" \x1A PRIMEIRA MATRIZ \n\n"); for (i=0;i<3;i++) /*mostrar as matriz*/ { for (cont=0;cont<3;cont++) { printf(" ¬i \t",matriz[i][cont]); } printf("\n"); } printf("\n\n"); printf(" \x1A SEGUNDA MATRIZ \n\n"); for (i=0;i<3;i++) /*mostrar as matriz2*/ { for (cont=0;cont<3;cont++) { printf(" ¬i \t",matriz2[i][cont]); } printf("\n"); } printf("\n\n"); /*calculca a matriz3*/ matriz3[0][0]=matriz[0][0]; matriz3[1][0]=matriz[1][0]; matriz3[2][0]=matriz[2][0]; matriz3[0][1]=matriz2[0][0]; matriz3[1][1]=matriz2[1][0]; matriz3[2][1]=matriz2[2][0]; matriz3[0][2]=matriz[0][1]; matriz3[1][2]=matriz[1][1]; matriz3[2][2]=matriz[2][1]; matriz3[0][3]=matriz2[0][1]; matriz3[1][3]=matriz2[1][1]; matriz3[2][3]=matriz2[2][1]; matriz3[0][4]=matriz[0][2]; matriz3[1][4]=matriz[1][2]; matriz3[2][4]=matriz[2][2]; matriz3[0][5]=matriz2[0][2]; matriz3[1][5]=matriz2[1][2]; matriz3[2][5]=matriz2[2][2]; printf("\n\n"); printf(" \x1A TERCEIRA MATRIZ \n\n"); for(i=0;i<3;i++) /*mostrar as matriz2*/ { for(cont=0;cont<6;cont++) { printf(" ¬i \t",matriz3[i][cont]); } printf("\n"); } getch(); }
Ervilha
Curtir tópico
+ 0
Responder
Posts
15/09/2008
Rodc
Creio que algo assim seria melhor... não testei para saber se funciona....
/*calculca a matriz3*/ memcpy(matriz3[0], matriz[0], ARRAYSIZE(matriz3[0])); memcpy(matriz3[1], matriz2[0], ARRAYSIZE(matriz3[0])); memcpy(matriz3[2], matriz[1], ARRAYSIZE(matriz3[0])); memcpy(matriz3[3], matriz2[1], ARRAYSIZE(matriz3[0])); memcpy(matriz3[4], matriz[2], ARRAYSIZE(matriz3[0])); memcpy(matriz3[5], matriz2[2], ARRAYSIZE(matriz3[0]));
Responder
Clique aqui para fazer login e interagir na Comunidade :)