sábado, 9 de junho de 2012

Método de Multiplicação em Grid




#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

int main(){

 int i,j,k,l;
 
 int a[2] = {3,6};
 int b[2] = {2,7};
 int d[4];
 
 int m[2][2][2];
 
 for(i=0;i<2;i++){
  for(j=0;j<2;j++){
   m[i][j][0] = (a[i]*b[j])/10; 
   m[i][j][1] = (a[i]*b[j])%10;
  }
 }
 
  for(j=0;j<2;j++){
  for(i=0;i<2;i++){
   printf("%d/%d ",m[i][j][0],m[i][j][1]);
  }
  printf("\n");
 }
 
 for(i=0;i<4;i++) d[i]=0;
 
 for(i=0;i<2;i++)
  for(j=0;j<2;j++)
   for(k=0;k<2;k++){
    l = i+j+k;
    d[l] += m[i][j][k]; 
   }
 for(i=3;i>=0;i--)
   if(d[i] >= 10){
   d[i] -= 10;
   d[i-1]++;
  }
  
 for(i=0;i<4;i++)
   printf("%d",d[i]);
 
 printf("\n");
   

  return 0;
} 
 
 
Saída
0/6 1/2
2/1 4/2
0972



Nenhum comentário: