C/Visual C - Error en C??

 
Vista:
sin imagen de perfil

Error en C??

Publicado por Marta (1 intervención) el 09/12/2016 21:45:59
Hola!! Estoy empezando a programar en C, tengo varias dudas y no se a quién acudir!!

En este caso me aparece este error: 'array subscript is not an integer' en la línea 82 y no se como solucionarlo (a pesar de que he estado un buen rato buscando por internet...)

Esto es solo la primera parte del ejercicio, aun tengo que terminar el resto

Muchas gracias de antemano!! ^^

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define NUMPIPETAS 3
#define MAXMEDICIONES 5
 
void leerMediciones(int m[NUMPIPETAS][MAXMEDICIONES]);
void imprimirMediciones(int m[NUMPIPETAS][MAXMEDICIONES]);
void calcularPromedio (int m[NUMPIPETAS][MAXMEDICIONES]);
void calcularDesviacionTipica(int m[NUMPIPETAS][MAXMEDICIONES]);
void calcularErrorAleatorio(int m[NUMPIPETAS][MAXMEDICIONES]);
void buscarAnomalos(int m[NUMPIPETAS][MAXMEDICIONES]);
 
int main(void){
    int matriz[NUMPIPETAS][MAXMEDICIONES];
     //deberia poner aqui suma=0??
    float x[15];
    int opc;
    char choice;
    do {
        leerMediciones(matriz);
 
        printf("-----------MENU-----------\n\n");
        printf("1.- Introducir las mediciones\n");
        printf("2.- Imprimir mediciones\n");
        printf("3.- Calcular error aleatorio\n");
        printf("4.- Buscar valores anomalos\n");
        printf("0.- Salir\n\n");
        printf("Elige una opcion: ");
        scanf("%d",&opc);
        printf("----------------------------\n");
 
        switch(opc){
 
            case 1: leerMediciones(matriz);
                    break;
 
            case 2: imprimirMediciones(matriz);
                    break;
 
            case 3: calcularPromedio (matriz);
                    calcularDesviacionTipica(matriz);
                    calcularErrorAleatorio(matriz);
                    break;
 
            case 4: buscarAnomalos(matriz);
                    break;
 
            default:printf("Opcion no valida. Por favor, vuelva a elegir. \n");
 
        }
      }while(choice !=4);
 
 
        imprimirMatriz(matriz);
     }
void leerMatriz(int m[NUMPIPETAS][MAXMEDICIONES]){
 
    int i,j;
 
    printf("Introduzca los elementos de la matriz %dx%d\n",NUMPIPETAS,MAXMEDICIONES);
 
      for(i=0;i<NUMPIPETAS;i++){
          for(j=0;j<MAXMEDICIONES;j++){
 
            printf("Fila %d - Columna %d: ", i,j);
            scanf("%d", &m[i][j]);
 
         }
      }
}
 
void imprimirMatriz(int m[NUMPIPETAS][MAXMEDICIONES]){
 
    float i,j;
 
    printf("Impresion de la Matriz:\n");
 
       for(i=0;i<NUMPIPETAS;i++){
           for(j=0;j<MAXMEDICIONES;j++){
               printf("%d ", m[i][j]);
           }
           printf("\n");
       }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Error en C??

Publicado por agustin (272 intervenciones) el 10/12/2016 01:46:12
No puedes usar como índices números de coma flotante por el simple hecho de que no existen posiciones decimales, o sea que por ejemplo array [1.25] no es válido y aunque en tu caso la parte decimal es 0 el compilador no deja que uses float para ello. Cambialo por:
1
int i,j;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Error en C??

Publicado por Marta (7 intervenciones) el 10/12/2016 02:32:38
Muchas gracias!! Era justo eso! ^^
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar