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 ...


3- Escreva um algoritmo recursivo para calcular o produto de dois números inteiros e positivos X e Y, utilizando o conceito de que uma multiplicação pode ser construída sobre sucessivas operações de adição.


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

int soma(int, int,int, int); //prototipando

void main()
{
   int n, e, total=0;
   clrscr();

   printf("digite multiplicando :  ");
   scanf("%d",&n);
   printf("digite multiplicador :  ");
   scanf("%d",&e);

   if ((n>0)&&(e>0)) //verificando entradas
   {
      total=soma(n,e,1,total); //chamando função(n,e,contador,total)
      printf("\nsoma total = %d", total); //imprimindo resultador
   }
   else
   {
      printf("\n\nentrada invalida");
   }
   getch();
}

int soma(int n2, int e2, int cont, int total)
{
   if(cont<=e2) //condição de saida
   {
      total=total+n2;
      cont++;
      soma(n2,e2,cont,total); //recursividade
   }
   else
   {
      return(total); //retornando resultado para main()
   }
}