Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: wicho.core en 11 Diciembre 2014, 06:57 am



Título: Error en c++
Publicado por: wicho.core en 11 Diciembre 2014, 06:57 am
Por qué cuando compilo me marca: invalid types int int' for array subscript.
Este es el código.

//Rifa de premios
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int empleado[3];
    int vector[50];
    int i, n;
    int valor, cont, total, sel;
   
    scanf ("%d", &n);
   
    for (i = 0; i <= n-1; i++)
    vector = rand ()% 101;
   
    for (cont = 1; cont <= 2; cont++)
    {
        printf ("El empleado %d selecciona: \n", i);
        total [cont] = 0;
       
        for (sel = 1; sel <= 2; sel++)
        {
        printf ("Escoge un numero \n");
        scanf ("%d", & valor);
        total [cont] = total [cont] + vector [valor];
        }
    }
getch();   
return 0;   
}


Título: Re: Error en c++
Publicado por: eferion en 11 Diciembre 2014, 07:26 am
Código
  1. int /* ... */ total, sel;
  2.  
  3. // ...    
  4.  
  5. for (cont = 1; cont <= 2; cont++)
  6. {
  7.  printf ("El empleado %d selecciona: \n", i);
  8.  total [cont] = 0;
  9.  

"total" lo estás declarando como un entero, no como un array. El uso que haces de la variable en la última línea del código que te he rescatado no es válido (y no es el único).

Un saludo


Título: Re: Error en c++
Publicado por: zShackra en 11 Diciembre 2014, 17:24 pm
Por favor, usen las etiquetas GeSHi para el código que están publicando.

A demás de lo que eferion comenta, estás llenando el arreglo "vector" con números aleatorios de forma errónea:

Código
  1. for (i = 0; i <= n-1; i++)
  2.    vector = rand ()% 101;

Cuando se supone que debes elegir un índice para asignar cada valor.

P.D.: Lee este (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html) tema.