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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


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

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda programa en C
« en: 20 Junio 2014, 23:56 pm »

Hola que tal, necesitaria ayuda, estoy programando un trabajo practico en C, que debo entregar mañana, y no logro que compilen.

¿Podrían ayudarme a detectar el problema ?

Les agradezco de antemano.

El programa debe calcular EL IMPORTE TOTAL DE UNA FACTURA,
Son 12 clientes ,(nro abonado random(999999)).
12 tarifas (random a cual le toque a cada cliente).

cada TARIFA tiene un precio minimo, y una cantidad de llamadas libres..

El calculo que se debe imprimir es =  Importe min + (llamadasTotal - Llamadas libres ).

AQUI EL CODIGO :

Código
  1. // aclaracion : el importe por llamada exedida es de 5 .
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <conio.h>
  6.  
  7. //defino f y c para MAT_GENERAL
  8. # define FILAS 2
  9. # define COLUMNAS 12
  10.  
  11. void CARGAR (float [] [COLUMNAS], float) ;
  12.  
  13. main(){
  14. clrscr();
  15. //declaro matriztarifas, 1fila:nro de tarifa, 2fila:costo minimo, 3fila: llam libres
  16. float MAT_TARIFAS[3][12] = {{1,2,3,4,5,6,7,8,9,10,11,12},
  17. {10,20,30,40,50,60,70,80,90,100,},
  18. {5,10,10,20,30,50,50,100,200,300,400}
  19. };
  20.  
  21. float MAT_GENERAL [FILAS] [COLUMNAS];
  22. CARGAR (MATRIZ, FILAS);
  23.  
  24.  
  25. }
  26.  
  27. // el inf carga random(hasta 999999para clientes y random (1000) para llam totales)      
  28. void CARGAR (float MAT[] [COLUMNAS], int N )
  29. {
  30. int i,j;
  31. for (i=0 ; i<n ; i++)
  32. {
  33. if (i==0) // verificar si el if comienza con 0, o 1.!!!!!
  34. {
  35. for (j =0; j<COLUMNAS; j++)
  36. {
  37. MAT[i][j] = random(999999);
  38. }
  39. }
  40. else
  41. {
  42. for (j= 0 ; j < columnas; j++)
  43. {
  44. mat[i][j]=random(1000);
  45. }
  46. }
  47. }
  48. }



Ya compila, Dejo el codigo de la primera parte, solo falta incluir una funcion que calcule e imprima los resultados, despues lo subo completo.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5. //defino f y c para MAT_GENERAL
  6. # define FILAS 3
  7. # define COLUMNAS 12
  8.  
  9. void CARGAR (float [] [COLUMNAS], int) ;
  10.  
  11. void main()
  12. {
  13.  
  14.       //declaro matriztarifas, 1fila:nro de tarifa, 2fila:costo minimo, 3fila: llam libres
  15. float MAT_TARIFAS[3][12] = {{1,2,3,4,5,6,7,8,9,10,11,12},
  16. {10,20,30,40,50,60,70,80,90,100,},
  17. {5,10,10,20,30,50,50,100,200,300,400}
  18. };
  19.  
  20.       float MAT_GENERAL[FILAS] [COLUMNAS];
  21.       clrscr();
  22.       CARGAR (MAT_GENERAL, FILAS);
  23.  
  24.  
  25. }
  26.  
  27. // el inf carga random(hasta 999999para clientes y random (1000) para llam totales)
  28. void CARGAR (float MAT[] [COLUMNAS], int n )
  29. {
  30. int i,j;
  31. for (i=0 ; i<n ; i++)
  32. {
  33. if (i==0) // verificar si el if comienza con 0, o 1.!!!!!
  34. {
  35. for (j =0; j<COLUMNAS; j++)
  36. {
  37. MAT[i][j] = random(999);
  38. }
  39. }
  40. else
  41. {
  42. for (j= 0 ; j < COLUMNAS; j++)
  43. {
  44. MAT[i][j]=random(1000);
  45. }
  46. }
  47. }
  48.  
  49. getch();
  50. }


« Última modificación: 21 Junio 2014, 09:24 am por Eternal Idol » En línea

MeCraniDOS


Desconectado Desconectado

Mensajes: 337


Sr. Glass


Ver Perfil
Re: Ayuda programa en C
« Respuesta #1 en: 22 Junio 2014, 13:30 pm »

Ya compila, Dejo el codigo de la primera parte, solo falta incluir una funcion que calcule e imprima los resultados, despues lo subo completo.

Que clase de compilador utilizas?  :rolleyes: :silbar:

Empiezas mal con esto :rolleyes:
Código
  1. void main

Utilizar conio es.. basura, pásate por aquí

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html


La función random está mal, lo primero es inicializar con

Código
  1. srand (time(NULL));


Y la sintaxis sería, (limite inferior + rand() % limite superior - limite inferior)


Código
  1. int algo = 1 + rand() % 10 - 1; //Generamos un aleatorio entre 1 y 10

Te falta incluir time.h

Código
  1. #include <time.h>

La definición de la función CARGAR no tiene mucho sentido, pasas un entero 'n', pero estas pasando FILAS, que lo has definido antes  :o

Cambia en el bucle de la función esto


Código
  1. for (i=0 ; i<n ; i++)

por esto

Código
  1. for (i=0 ; i<FILAS ; i++)

Y ya puedes cambiar la definición...


Ya que has posteado tu código funcional, te digo como quedaría con las modificaciones que te he puesto antes:

Código
  1. #include <time.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. //defino f y c para MAT_GENERAL
  7. # define FILAS 3
  8. # define COLUMNAS 12
  9.  
  10. void CARGAR (float [] [COLUMNAS]) ;
  11.  
  12. int main()
  13. {
  14.    //declaro matriztarifas, 1fila:nro de tarifa, 2fila:costo minimo, 3fila: llam libres
  15.  
  16.    float MAT_TARIFAS[3][12] = {{1,2,3,4,5,6,7,8,9,10,11,12},
  17.                                {10,20,30,40,50,60,70,80,90,100},
  18.                                {5,10,10,20,30,50,50,100,200,300,400}};
  19.  
  20.    float MAT_GENERAL[FILAS] [COLUMNAS];
  21.  
  22.    CARGAR (MAT_GENERAL);
  23.  
  24.    return 0;
  25.  
  26. }
  27.  
  28. // el inf carga random(hasta 999999para clientes y random (1000) para llam totales)
  29. void CARGAR (float MAT[] [COLUMNAS])
  30. {
  31.    int i=0,j=0;
  32.  
  33.    srand (time(NULL));
  34.  
  35.    for (i=0 ; i<FILAS ; i++)
  36.    {
  37.        if (i==0) // verificar si el if comienza con 0, o 1.!!!!!
  38.        {
  39.            for (j =0;j<COLUMNAS;j++)
  40.            {
  41.                MAT[i][j] = 1 + random() % 998;
  42.            }
  43.        }
  44.        else
  45.        {
  46.            for (j= 0;j < COLUMNAS;j++)
  47.            {
  48.                MAT[i][j]= 1 + random() % 999;
  49.            }
  50.        }
  51.    }
  52. }

Saludos!




En línea

"La física es el sistema operativo del Universo"
     -- Steven R Garman
samudiopabloe

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda programa en C
« Respuesta #2 en: 16 Diciembre 2015, 22:52 pm »

Hola a todos muchísimas gracias a todos por sus aportes, nunca les agradecí anteriormente.

Que anden mas que bien !
saludos.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Ayuda programa en C
« Respuesta #3 en: 17 Diciembre 2015, 02:03 am »

MeCraniDos. ¡Te faltan paréntesis!

Aquí
Código
  1. int algo = 1 + rand() % 10 - 1; //Generamos un aleatorio entre 1 y 10

Tendrías que escribir...
Código
  1. int algo = 1 + rand() % (10 - 1); //Generamos un aleatorio entre 1 y 10

Porque si no, estarías sumando y restando 1 en la misma "equación" :D

Entonces, la "fórmula" sería:
random_number = min + rand()%(max - min);

Siendo random_number el resultado, min el valor mínimo que puede ser el resultado y max siendo el número más alto que puede alcanzar el número aleatorio
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 2,488 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,395 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
ayuda programa!!
Programación C/C++
rodrigo_103 4 3,425 Último mensaje 16 Septiembre 2012, 21:58 pm
por rodrigo_103
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 6,246 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
Noxware 0 2,204 Último mensaje 16 Junio 2014, 18:13 pm
por Noxware
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines