Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: alfo1294 en 27 Julio 2012, 05:19 am



Título: ERROR ARREGLOS, FUNCIONES Y Makefile.win
Publicado por: alfo1294 en 27 Julio 2012, 05:19 am
Una ayuda para alguien que recien empieza :D :

#include <stdio.h>
#define ESTUDIANTES 3
#define EXAMENES 4

int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
int maximo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
double promedio(const int estableceCalif[],int examenes);
void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
main()

{

int estudiante;
const int calificacionesEstudiantes[ESTUDIANTES][EXAMENES] = {{77,68,86,73},{96,87,89,78},{70,90,86,81}};

printf("El arreglo es:\n");
despliegaArreglo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES);


printf("\n\nCalificacion mas baja: %d\nCalificacion mas alta: %d",minimo(calificacionesEstuadiantes, ESTUDIANTES, EXAMENES),
maximo(calificacionesEstuadiantes, ESTUDIANTES, EXAMENES)) ;


for(estudiante=0; estudiante < ESTUDIANTES; estudiante++){
printf("El pro6medio de calificacion del estudiante %d es %.2f\n"),
estudiante, promedio(calificacionesEstudiantes[estudiante],
EXAMENES);
};
system("PAUSE");
return 0;
}
int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
int i;
int j;
int califBaja=100;

for(i=0;i<alumnos; i++){
for(j=0;j<examenes; j++){
if(calificaciones[j]<califBaja) {
califBaja= calificaciones[j];
}//fin de if
}//fin de for interno
}//fin de for externo
return califBaja;
}//Fin de funcion maximo

double promedio(const int conjuntoDeCalificaciones[], int examenes)
{
int i;
int total=0;

for(i=0; i<examenes; i++) {
total += conjuntoDeCalificaciones;
}//fin de for
return(double)total/examenes;
}//fin de funcion promedio
//IMPRIME ARREGLO
void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
int i;
int j;

printf("
  • [1] [2] [3]");

for(i=0;i<alumnos; i++){
printf("\ncalificacionesEstudiantes[%d]",i);

for(j=0; j<examenes; j++){
printf("%-5d",calificaciones[j]);
}//fin del for interno
}//fin del for externo
}//fin de la funcion despliegaArreglo






ME DA ESTOS ERRORES, PERO NO SE COMO ARREGLARLOS. :S

F:\Dev-Cpp\COPIAR A LA PC\Arreglo_de_doble_subindice.c In function `main':
21 F:\Dev-Cpp\COPIAR A LA PC\Arreglo_de_doble_subindice.c `calificacionesEstuadiantes' undeclared (first use in this function)
(Each undeclared identifier is reported only once
for each function it appears in.)
F:\Dev-Cpp\COPIAR A LA PC\Makefile.win [Build Error] [Arreglo_de_doble_subindice.o] Error 1


Título: Re: ERROR ARREGLOS, FUNCIONES Y Makefile.win
Publicado por: avesudra en 27 Julio 2012, 05:21 am
Hola , para empezar bienvenido al foro , bien , ¿podrías poner el código bajo las etiquetas GeSHi? , si no sabes como , editas el mensaje , seleccionas todo el código , te vas donde pone GeSHi despliegas y le das a C y guardas el mensaje. En cuanto a los errores si lo pones ahora te lo miro.

Como tardas en ponerlo pongo tu código , compilar compila pero no muestra los resultados que quieres ni mucho menos:
Los errores:
Está claro que calificacionesEstuadiantes no está definida, ponlo bien.Hay más errores pero no los he resuelto eso es cosa tuya pues yo no sé como vá el código.
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #define ESTUDIANTES 3
  4. #define EXAMENES 4
  5.  
  6. int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
  7. int maximo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
  8. double promedio(const int estableceCalif[],int examenes);
  9. void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
  10. int main()
  11. {
  12.  
  13.    int estudiante;
  14.    const int calificacionesEstudiantes[ESTUDIANTES][EXAMENES] = {{77,68,86,73},{96,87,89,78},{70,90,86,81}};
  15.  
  16.    printf("El arreglo es:\n");
  17.    despliegaArreglo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES);
  18.  
  19.  
  20.    printf("\n\nCalificacion mas baja: %d\nCalificacion mas alta: %d\n",minimo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES),maximo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES)) ;
  21.  
  22.  
  23.    for(estudiante=0; estudiante < ESTUDIANTES; estudiante++)
  24.    {
  25.        printf("El promedio de calificacion del estudiante %d es %.2f\n",estudiante, promedio(calificacionesEstudiantes[estudiante],EXAMENES));
  26.    }
  27.    system("PAUSE");
  28.    return 0;
  29. }
  30.  
  31. int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
  32. {
  33.    int i;
  34.    int j;
  35.    int califBaja=100;
  36.  
  37.    for(i=0; i<alumnos; i++)
  38.    {
  39.        for(j=0; j<examenes; j++)
  40.        {
  41.            if((int)calificaciones[j]<califBaja)
  42.            {
  43.                califBaja= (int)calificaciones[j];
  44.            }//fin de if
  45.        }//fin de for interno
  46.    }//fin de for externo
  47.    return califBaja;
  48. }//Fin de funcion maximo
  49.  
  50.  
  51.  
  52. double promedio(const int conjuntoDeCalificaciones[], int examenes)
  53. {
  54.    int i;
  55.    int total=0;
  56.  
  57.    for(i=0; i<examenes; i++)
  58.    {
  59.        total += (int)conjuntoDeCalificaciones;
  60.    }//fin de for
  61.    return(double)total/examenes;
  62. }//fin de funcion promedio
  63.  
  64.  
  65.  
  66.  
  67. //IMPRIME ARREGLO
  68. void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
  69. {
  70.    int i;
  71.    int j;
  72.  
  73.    printf("[1] [2] [3]");
  74.  
  75.  
  76.    for(i=0; i<alumnos; i++)
  77.    {
  78.        printf("\ncalificacionesEstudiantes[%d]\n",i);
  79.  
  80.        for(j=0; j<examenes; j++)
  81.        {
  82.            printf("%-5d\n",calificaciones[j]);
  83.        }//fin del for interno
  84.    }//fin del for externo
  85. }//fin de la funcion despliegaArreglo
  86.  
  87.  
  88.  
  89.  
  90. int maximo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
  91. {
  92. //Se te ha olvidado definirla
  93. }