Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Onigiri en 24 Octubre 2012, 04:34 am



Título: Ayuda! canon convert ' int * ' to 'int'
Publicado por: Onigiri en 24 Octubre 2012, 04:34 am
Hola pues este es mi tercer
programa con for
y no entiendo a que se refiere este problema,
he buscado en google
pero mi inglés es muy deficiente.

He aqui mi programa:
Código
  1. #include <iostream.h>
  2. #include <conio.h>
  3. main()
  4. {int may,men,a[15],ly,lm,i;
  5. may=men=0;
  6.  for (i=0; i<16; i++)
  7.   {cout<<"\nElemento a = ";
  8.    cin>>a[i];
  9.   }
  10.  for (i=0; i<16; i++)
  11.  { if (a[i]>may)
  12.    {may=a;
  13.     ly='i';}
  14.  
  15.      if(a[i]<men)
  16.      {men=a;
  17.       lm='i';}
  18.   }
  19.  
  20.   cout<<"El mayor es "<<may<<" se encuentra en elemento "<<ly;
  21.   cout<<"El menor es "<<men<<" se encuentra en elemento "<<lm;
  22.  
  23.   getch();
  24.   }
  25.  
  26.  

De 15 valores enteros debo averiguar cual es el mayor, el manor y la posicion de ambos.


Título: Re: Ayuda! canon convert ' int * ' to 'int'
Publicado por: javahat en 24 Octubre 2012, 06:29 am
Los 15 valores enteros, ¿Debes ingresarlos tu mismo aleatoriamente o lo hace el mismo programa automáticamente, seleccionando números al azar?


Título: Re: Ayuda! canon convert ' int * ' to 'int'
Publicado por: rir3760 en 24 Octubre 2012, 07:52 am
El ingles es muy importante para aprender un lenguaje de programación como C o C++, aunque no te guste mucho deberías aprenderlo. El error esta en las lineas:
Código
  1. for (i=0; i<16; i++)
  2.  { if (a[i]>may)
  3.    {may=a; // <==
  4.     ly='i';}
  5.  
  6.      if(a[i]<men)
  7.      {men=a; // <==
  8.       lm='i';}
  9.   }
Y se debe a la falta del operador "[]" y el indice del elemento (debería ser "a[ i ]").

En ese mismo fragmento utilizas 'i' (que es un carácter) cuando deberías utilizar i.

Y cuando declaras un array indicas el numero de elementos:
Código
  1. int may,men,a[15],ly,lm,i;
Y accedes a ellos mediante los indices 0 .. N-1 donde N es el numero de elementos en el array. En otras palabras para un array de 15 elementos sus indices validos van de 0 hasta 14.

Por ultimo te recomiendo que leas el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)

Un saludo


Título: Re: Ayuda! canon convert ' int * ' to 'int'
Publicado por: Onigiri en 25 Octubre 2012, 02:16 am
Gracias! :D


Título: Re: Ayuda! canon convert ' int * ' to 'int'
Publicado por: flony en 25 Octubre 2012, 03:32 am
te falta int main()