Programação Orientada à Procedimentos II Programação Orientada à Procedimentos I Processamento Paralelo Lógica de Programação Introdução à Computação Informática Básica

 

 

Informática Básica
Introdução à Computação
Lógica de Programação
Programação Orientada à Procedimentos I
Programação Orientada à Procedimentos II

Processamento Paralelo


Uma Possível Solução ...




2) Criar uma matriz A e uma matriz B com 2 linhas, 3 colunas e 2 planos. Gerar a matriz C, de mesma dimensão, a partir da soma dos elementos de A com os elementos de B, ou seja, C = A + B. Usar função.

#include "stdio.h"
#include "conio.h"
#include "stdlib.h"

// prototipando funcoes
void preencher(int [2][3][2], char);
void impressao(int [2][3][2], char);
void somar(int [2][3][2],int [2][3][2]);

//********************* funcao main **********************
void main()
{
   randomize();
   clrscr();
   int matA[2][3][2], matB[2][3][2];
   char m='A';
   preencher(matA,m);     //chamando a funcao preencher
   m='B';
   preencher(matB,m);     //chamando a funcao preencher
   somar(matA,matB);
   getch();
}

//******************* funcao preencher ********************
void preencher(int mat[2][3][2], char m)
{
   for(int lin=0;lin<2;lin++)
   {
     for(int col=0;col<3;col++)
     {
	 for(int pla=0;pla<2;pla++)
	 {
	    mat[lin][col][pla]=rand()%11;
	 }
     }
   }

   impressao(mat,m);           //chamando a funcao impressao
}

//******************* funcao impressao ********************
void impressao(int mat[2][3][2], char m)
{
   printf("**********  Imprimindo matriz %c **********\n",m);
   for(int pla=0;pla<2;pla++)
   {
      printf("plano %d ....\n",pla);
      for(int lin=0;lin<2;lin++)
      {
	 for(int col=0;col<3;col++)
	 {
	    printf("\t %d \t",mat[lin][col][pla]);
	 }
	 printf("\n");
      }
   }
   printf("\n");
}

//******************* funcao somar ********************
void somar(int matA[2][3][2],int matB[2][3][2])
{
   int matC[2][3][2];
   char m='C';

   for(int lin=0;lin<2;lin++)
   {
     for(int col=0;col<3;col++)
     {
	 for(int pla=0;pla<2;pla++)
	 {
	    matC[lin][col][pla]=matA[lin][col][pla]+matB[lin][col][pla];
	 }
     }
   }

   impressao(matC, m);           //chamando a funcao impressao
}