Ir para conteúdo
Fórum Script Brasil
  • 0

[Ajuda] Divisão por subtração sucessiva em C++


Rhuan Lopes

Pergunta

Boa tarde a todos, estou tentando fazer um exercício da minha faculdade que está falendo nota, mas estou com sérias dificuldades.

Segue o exercício:

Divisão através de subtrações sucessivas

O resultado da divisão inteira de um número inteiro por outro número inteiro pode

sempre ser obtido utilizando–se apenas o operador de subtração. Assim, se quisermos

calcular (7/2), basta subtrair o dividendo (2) ao divisor (7), sucessivamente, até que o

resultado seja menor do que o dividendo. O número de subtrações realizadas

corresponde ao quociente inteiro, conforme o exemplo seguinte:

7 - 2 = 5

5 - 2 = 3

3 - 2 = 1

Descrever um programa para o cálculo da divisão de um inteiro pelo outro.

Note que se o dividendo for zero, esta é uma operação matematicamente indefinida.

Meu código (que não está dando certo):

#include <iostream>
using namespace std;

void main()
{
    int divid, divis, resul, i;

    cout << "Entre com o dividendo: ";
    cin >> divid;

    cout << "Entre com o divisor: ";
    cin >> divis;

    resul = (divid - divis);

    for (i=0;i <= divid;i++)
    {
        (resul - divis);
    }
    
    cout << i;
}

Obs: Não reparem se tiver algum erro grotesco no código... rs... estou começando a programar agora.

Preciso de ajuda para conseguir resolver este exercício e entregá-lo ainda hoje... =/

Desde já agradeço a atenção de todos.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Amigo apesar de você já ter feito o código, resolvi de outra maneira usando recursão.

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


int divide(int divis, int divid){
    
    return divis - divid;
    
    }


main(){
       
       
int divisor = 0;
int dividendo = 0;
int resultado = 0;
int i =0;
       
            
      
    
    do{ 
        
        puts("Entre com o divisor");
       scanf("%d",&divisor);
       
       puts ("Entre com o dividendo");
       scanf("%d",&dividendo);
               
         resultado = divide(divisor,dividendo); 
         i++;
              
    while(resultado >= dividendo){
           
          i++;  
          resultado = divide(resultado,dividendo);  
            
            }   
       
   printf("%d divido por %d = %d\n",divisor,dividendo,i);
   
            i=0;
          
}while(divisor != 0);   
       
   system("pause");    
       
       }

Editado por Ezequiel A. Ribeiro
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...