[Programación C]Divisiones y resto.

Mauricio J. Adonis C. mike.alfa.2007 en gmail.com
Lun Mayo 4 23:33:11 BST 2009


El lun, 04-05-2009 a las 21:36 +0200, Daniel E. Rozo L. escribió:
> Muy buenas noches, en España, a toda la lista.
> 
> Se me presenta un problema que me gustaría alguien diese solución
> (redundancia en una lista de ayuda). Aunque no tiene que ver con
> Ubuntu, me aprovecho un poco y lo indico en el asunto. La cuestión es
> la siguiente, en el instituto se me exige hacer un programa en C que
> dados dos números por teclado (numerador o divisor y denominador o
> dividendo) nos muestre en pantalla el valor de su división entera y el
> valor del resto  de dicha división, se tiene que hacer todo esto,
> salvo con la imposibilidad de usar el operador división, ni resto ni
> función cociente.
> 
> Explicado el problema, lo que llevo hecho es:
> 
> #include stdio.h
> 
> int numerador,denominador;
> printf ("Dame el numerador: ");
> scanf ("%d",numerador);
> printf ("Dame el denominador: ")
> scanf ("%d",denominador)
> 
> Como véis, no llevo hecho nada porque simplemente no sé seguir, el
> profesor no ha explicado mucho más allá de estas cosas, pero si se
> cabrea un profesor...atente a las consecuencias; como siempre, pagan
> justos por pecadores.
> 
> Si alguien tiene alguna idea de cómo hacerlo, de qué algoritmo seguir,
> de una página, de lo que sea...bienvenida sea.
> 
> Muchas gracias, salud!.
> 

Hola Daniel, pues tienes razón en que tu consulta nada tiene que ver con
Ubuntu (en ese caso se conveniente poner OT en el asunto del mensaje,
para indicar esto). Te sugiero que futuras consultas sobre programación
las hagas en foros especializados, no porque nadie acá quiera ayudarte,
sino porque posiblemente no siempre puedas obtener la ayuda que
necesitas.

En el particular de tu consulta te puedo decir que dividir un número A
por otro B significa saber cuántas veces B en A, o sea el denominador en
el numerador. Se podría crear un bucle while para contar cuántas veces
puedes restar el denominador del numerador hasta que la resta se haga
negativa y lo que queda es el resto ¿se entiende?...

ejemplo: Dividir 50 en 15... (vale para dos números enteros positivos)

# include <stdio.h>;

int main(void) {

	int numerador;
	int denominador;
	int resto;
	int veces = 0;

	printf("Ingrese numerador:");
	scanf("%d",numerador);
	printf("Ingrese denominador:");
	scanf("%d",denominador);

	resto = numerador;

	while(resto > 0) {
		veces++;
		resto -= denominador;
	}

	printf("%d dividido en %d = %d (resto %d)",numerador,denominador,veces, resto);

	return 0;
}

El resultador de la división estará en la variable contador y el resto
en la variable resto.
-- 
Saludos, 
Mauricio J. Adonis C.
------------------------------------------
Usuario Linux  # 482032
Usuario Ubuntu #  25554
Ubuntu Code of Conduct - 1.0.1 signatario
(FD9329AC66C0907805831BF8E8D0B29A3AE3D244)
------------------------------------------
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 189 bytes
Descripción: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente
Url        : https://lists.ubuntu.com/archives/ubuntu-es/attachments/20090504/6925ad91/attachment.pgp 


Más información sobre la lista de distribución ubuntu-es