Colocar Resposta 
 
Avaliação do Tópico:
  • 1 votos - 5 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Dúvidas de C (Eclipse) #2
30-10-2009, 20:10 (Esta mensagem foi modificada pela última vez a: 30-10-2009 20:43 por Ferreira.)
Mensagem: #1
Dúvidas de C (Eclipse) #2
Voltei de novo! Mas agora já tenho umas linhas escritas Big Grin

O problema que tenho esta semana é o do MDC e do mmc:

Escreva um programa que calcule o Máximo Divisor Comum (MDC) e o mínimo múltiplo comum (mmc) de dois número inteiros.
O programa deve ter duas funções, em que em ambas, recebem dois inteiros positivos e retornam o MDC e o mmc respectivamente.
O calculo do MDC deve ser feito de forma iterativa e o calculo do mmc deve recorrer à função MDC.


Eis o que já fiz:

main.c

Código:
#include "prat4.h"
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    int a, b, t;
    int res_mmc, res_MDC;

    printf("Introduza o primeiro numero inteiro: ");
    scanf("%d", &a);
    printf("Introduza o segundo numero inteiro: ");
    scanf("%d", &b);

    if ( a < b )/* Garantir que A seja o maior valor */
        {
           t = a;
           a = b;
           b = t;
        }

    while ( b != 0 ) /* Calcular o MDC */
        {
          res_MDC = a % b;
          a = b;
          b = res_MDC;
        }

    mmcF(a, b, res_MDC, res_mmc);

    if (res_MDC > 0 && res_mmc > 0)
        printf("Aos numeros inteiros %d e %d correspondem:\n"
            "MDC = %d \n"
            "mmc = %d", a, b, res_MDC, res_mmc);
        else
            printf("Parece que nao sabes o que sao numeros inteiros!");

    return 0;
}

=======================================================

prat4.c

Código:
#include "prat4.h"
#include <stdio.h>
#include <stdlib.h>

int mmcF(int a, int b, int res_MDC, int res_mmc)
{
    res_mmc = (a*b)/res_MDC;

    return res_mmc;

}

=======================================================

prat4.h

Código:
#ifndef PRAT4_H_
#define PRAT4_H_

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

int mmcF(int a, int b, int res_MDC, int res_mmc);

#endif /* PRAT4_H_ */

=======================================================

Já corri o programa e passei pelo debug. Quando salta para a função deixa de correr ou de apresentar dados, não me devolve nada.

O que será que tenho mal, ou por outro lado, o que é que não está mal Shy

Já agora, se alguém tiver uma explicação muito simplesinha sobre o que é uma iteração... é que é suposto serem duas funções e eu não consigo achar forma diferente de calcular o MDC.

Desde já o meu muito obrigado.

Cumprimentos
PirotasCool
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)