[ Foro de C++ ]

No encuentro mi error

10-Jan-2020 17:15
Invitado (ddxmcx )
1 Respuestas

Hola! Estaba intentando hacer un envío de el problema 538 de la pagina ACEPTA EL RETO: https://www.aceptaelreto.com/problem/statement.php?id=538. Tengo un programa hecho en c++:
#include <iostream>

using namespace std;

int main()
{
   int a1,a2;int c=1;
   int o[c];
   do{
   cin>>a1>>a2;
   if(a1<a2){
           o[c]=1;
   }
   else if(a1>=a2){
           o[c]=2;
   }
     if(a1==0 && a2==0){
       o[c]=0;
     }
c++;

   }while(a1 || a2);

   for(int x=0;x<c;x++){
   if(o[x]==1){cout<<"SENIL"<<endl;}
   else if(o[x]==2){cout<<"CUERDO"<<endl;}}
   return 0;
}
Tal vez alguien sabe, que error he cometido?


11-Jan-2020 16:47
Nacho Cabanes (+53)

El primer error, y más grave, es que no necesitas ningún array. No debes usar un array, especialmente si no sabes la cantidad de datos que te van a introducir. En tu caso es más grave aún, porque no sobredimensionas, tu array tiene tamaño 1, así que lo desbordas con la segunda lectura de datos.

Debes leer dos datos, comparar y responder. Luego otros dos, y así sucesivamente, sin almacenar nada más que esos dos datos.






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...