Ayuda! (Call of nonfunction)

Iniciado por Onigiri, 24 Octubre 2012, 02:46 AM

0 Miembros y 1 Visitante están viendo este tema.

Onigiri

Hola!
Estoy empezando a pasar
mi primer programa con for
con mi borland 5.02 c++

Y.. me sale el denominado Call of nonfunction
en 7 lineas.

Este es:

Código (cpp) [Seleccionar]
#include <iostream.h>
#include <conio.h>
main()
{int cp,cc,cn,a[20],i;
cp=cc=cn=0;
  for (i=0; i<20; i++)
  {cout<<"Elemento "<<a<<":  " ;
   cin>>a[i];
  }

   for (i=0; i<20; i++)
   {
      if (a(i)>0)
      {a(i)=a(i)*3;
       cp=cp+1;
      }
        if (a(i)<0)
        {a(i)=a(i)*a(i);
         cn=cn+1;
        }

        else
        {cc=cc+1;}


  }
    cout<<" a(i) \t ";
    cout<<" Son positivos "<<cp<<"Son negativos "<<cn<<" Son ceros "<<cc;

getch();
}


Como veran es un programa de vectores,
en donde se debe informar el vector modificado; cuantos elementos eran negativos, positivos y ceros en el vector original.


:rolleyes:

rir3760

Para acceder a un elemento de un array debes utilizar corchetes, por ejemplo:
Código (cpp) [Seleccionar]
if (a[i] < 0){
   a[i] = a[i] * a[i];
   cn = cn + 1;
}

Al utilizar los paréntesis, que son para una llamada a función, se genera el error que mencionas.

El resto del programa no lo revise.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Onigiri

Woow
tienes muchisima razón!
gracias!!


:)