elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Consulta sobre ejercicio basico en C?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta sobre ejercicio basico en C?  (Leído 3,396 veces)
palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Consulta sobre ejercicio basico en C?
« en: 11 Diciembre 2016, 23:19 pm »

Hola

Tengo una consulta con un problema de una guia de informatica I.

El codigo es el siguiente

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. unsigned char c=5;
  7. double b=12;
  8. int a=346,r;
  9. r=a/b%c;
  10. printf("%d",r);
  11.    return 0;
  12. }
  13.  

Segun la precedencia, primero viene * , luego la / y por ultimo %.
Hice los calculos y me da 3.
El tema es que la respuesta correcta, al probarlo en el compilador es un error de compilacion que dice "invalid operand to binary % (have "double and "int").
El tema es que si yo saco el "%c" me permite compilar y ejecutar el programa con normalidad.
Ahora si yo pongo el %c da el error de compilacion pero no entiendo ya que a/b es un entero/double...basicamente no entiendo de donde sale ese error de compilacion.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Consulta sobre ejercicio basico en C?
« Respuesta #1 en: 12 Diciembre 2016, 00:32 am »

El módulo debe ser entero


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: Consulta sobre ejercicio basico en C?
« Respuesta #2 en: 12 Diciembre 2016, 14:46 pm »

El módulo debe ser entero

Gracias, o sea, si a/b=28... y tengo el unsigned char c=5...lo que vos decis es que a/b se puede hacer sin ningun problema ...me queda 28%5(char)...osea el compilador no toma el numero 5, sino que solo acepta variables de tipo int?.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Consulta sobre ejercicio basico en C?
« Respuesta #3 en: 12 Diciembre 2016, 14:55 pm »

no entendi nada de tu ultima explicación... lo que uise decir es que los operados involucrados en el modulo deben ser de tipo entero o más simples

int%int

si uno de los 2 es float falla
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Consulta sobre ejercicio basico en C?
« Respuesta #4 en: 12 Diciembre 2016, 20:29 pm »

Lo que quiere decir engel lex es que b es un double y esto hace promocionar a a a double, por tanto el resultado de la división es un valor double. Este resultado, un double, pasa a ser operando del módulo, pero el operador módulo en C solo acepta enteros.
En línea

jessec01

Desconectado Desconectado

Mensajes: 5


inonvar


Ver Perfil
Re: Consulta sobre ejercicio basico en C?
« Respuesta #5 en: 14 Diciembre 2016, 07:45 am »

para evitar esto errores podemos obligar a nuestra variables para que no importe o que pase sea int

ej:
   
int a;
float sum, div;
sum=2.45;div=45.1;
a=(int) sum/div;

printf("%d",a);

la convercion informacion aqui
http://c.conclase.net/curso/?cap=009
En línea

"originalidad en todo "
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda en ejercicio basico
.NET (C#, VB.NET, ASP)
The_Saint 2 2,601 Último mensaje 16 Abril 2013, 20:27 pm
por The_Saint
Ejercicio básico Python
Programación General
srg 3 2,886 Último mensaje 30 Octubre 2013, 01:46 am
por Mitsu
Consulta sobre un ejercicio de clases « 1 2 »
Java
zonahurbana 11 9,496 Último mensaje 24 Noviembre 2013, 21:02 pm
por Mitsu
Hacking basico - consulta sobre pishing, las pass no se guardan
Hacking
noquiero 1 2,713 Último mensaje 22 Abril 2015, 15:19 pm
por Pablo Videla
(wxMaxima) Consulta sobre enunciado de un ejercicio (conjuntos y ordenación)
Dudas Generales
class_OpenGL 0 2,177 Último mensaje 4 Noviembre 2016, 00:04 am
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines