Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - rayk

#1
Hola quería saber si alguien me podría echar una mano con este código de programacón. El programa lo que hace es pasar un número en el sistema decimal al binario. Lo he hecho cogiendo los restos de las sucesivas divisiones entre dos y el último cociente, pero solo consigo mostrarlos por pantalla en el orden en el que voy consiguiendo los unos y ceros, por lo que el numero en binario esta al reves (leido de derecha a izquierda).

pongo lo que llevo de codigo:

#include <stdio.h>
#include <stdlib.h>
// Pasar un número de decimal a binario.
int main()
{
    int numero, c, r;
    scanf("%d", &numero);
    c=numero/2;
    while(c>1)
    {         
              r=numero%2;
              printf("%d", r);   
              c=numero/2;
              numero=c;         
    }
    printf("%d", c);
    system("pause");
}
#2
Hola me habia propuesto elaborar un programa que pudiese sacar el máximo común divisor de dos números. De momento lo estoy haciendo para que el primer numero que se introduzca sea mayor que el segundo(supongo que luego con un if pondre las dos opciones).Para ello he utilizado el conocido algoritmo de Euclides. Pero hay algo en el codigo que debo de hacer mal ya que no consigo que funcione.
incluyo el codigo para que me echeis una mano.

Saludos y gracias

#include <stdio.h>
#include <stdlib.h>
//Máximo común divisor de dos números mediante el algoritmo de Euclides.
int main()
{
    int a, b, c, r;
    printf("Maximo comun divisor de a y b\n\n");
    printf("a: ");
    scanf("%d", &a);
    printf("b: ");
    scanf("%d", &b);
    r=a%b;
    while(r>0)
    {
              fflush(stdin);
              a=b;
              b=r;
              r=a%b;
    }
    sprintf("el maximo comun divisor es %d", b);
    system("pause");
}