<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>Hola Steven gracias por la respuesta.</DIV>
<DIV> </DIV>
<DIV>He pegado la línea de:</DIV>
<DIV> </DIV>
<DIV>const char szMensaje[3] = { "piedra", "papel", "tijera" };</DIV>
<DIV> </DIV>
<DIV>En mi código pero el Visual Express 2012 me salta con estos errores en esa
línea:</DIV>
<DIV> </DIV>
<DIV>Error 2 error C2117: 'ordenador' :
desbordamiento de límites de matriz
C:\Users\Master\Documents\Visual Studio
2012\Projects\Project2\Project2\Source.cpp
107 1 Project2</DIV>
<DIV>Error 3 error C2078: hay demasiados
inicializadores C:\Users\Master\Documents\Visual Studio
2012\Projects\Project2\Project2\Source.cpp
107 1 Project2</DIV>
<DIV>4 IntelliSense: no se puede usar un valor de tipo "const
char [7]" para inicializar una entidad de tipo "char [3]"
c:\Users\Master\Documents\Visual Studio
2012\Projects\Project2\Project2\Source.cpp
107 24 Project2</DIV>
<DIV>5 IntelliSense: se esperaba '}'
c:\Users\Master\Documents\Visual Studio
2012\Projects\Project2\Project2\Source.cpp
107 34 Project2</DIV>
<DIV> </DIV>
<DIV
style="FONT-SIZE: small; FONT-FAMILY: 'Calibri'; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; TEXT-DECORATION: none; DISPLAY: inline">
<DIV style="FONT: 10pt tahoma">
<DIV><FONT size=3 face=Calibri>Parece como que se sobrecarga la matriz o algo de
eso.</FONT></DIV>
<DIV><FONT size=3 face=Calibri></FONT> </DIV>
<DIV><FONT size=3 face=Calibri></FONT> </DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A title=srd4121@njit.edu
href="mailto:srd4121@njit.edu">Davidson, Steven</A> </DIV>
<DIV><B>Sent:</B> Sunday, February 17, 2013 3:43 AM</DIV>
<DIV><B>To:</B> <A title=cconclase@listas.conclase.net
href="mailto:cconclase@listas.conclase.net">Lista de correo sobre C y C++</A>
</DIV>
<DIV><B>Subject:</B> Re: [C con Clase] Problema con código</DIV></DIV></DIV>
<DIV> </DIV></DIV>
<DIV
style="FONT-SIZE: small; FONT-FAMILY: 'Calibri'; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; TEXT-DECORATION: none; DISPLAY: inline">
<DIV dir=ltr>Hola Óscar,
<DIV class=gmail_extra>
<DIV> </DIV>
<DIV class=gmail_quote>2013/2/16 Oscar <SPAN dir=ltr><<A
href="mailto:pelucheloko@hotmail.com"
target=_blank>pelucheloko@hotmail.com</A>></SPAN><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<DIV dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: calibri">
<DIV>Hola que tal.</DIV>
<DIV> </DIV>
<DIV>Estoy intentando hacer el juego de piedra – papel y tijera. Para ello
utilizo rand() y uso un vector para rellenar el vector con unas cadenas de
texto específicas dependiento del valor que arroje rand(). Os pego un trozo de
código que es el que me está dando problemas:</DIV>
<DIV> </DIV></DIV></DIV></DIV></BLOCKQUOTE>
<DIV> </DIV>
<DIV>[CORTE]</DIV>
<DIV> </DIV>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<DIV dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: calibri">
<DIV>El error que salta es que “ordenador” dice el compilador que no está
definido, no se, no funciona como espero, un poco de ayuda por favor.</DIV>
<DIV> </DIV></DIV></DIV></DIV></BLOCKQUOTE>
<DIV> </DIV>
<DIV>El problema es que defines 'ordenador' en el ámbito de 'if'. Esto significa
que al entrar en 'if', se crea el vector (o array), 'ordenador', y al terminar
el ámbito, éste se destruye. Por lo tanto, no existe 'ordenador' fuera del
bloque, indicado por llaves.</DIV>
<DIV> </DIV>
<DIV>La solución es crear un vector de cadenas de caracteres a modo de base de
datos. Sabes de antemano los mensajes de texto que quieres usar. Por lo tanto,
guarda todos en un vector y simplemente usa el valor calculado aleatoriamente a
modo de índice para acceder a tal o cual cadena. Esto es,</DIV>
<DIV> </DIV>
<DIV>srand( time(NULL) );</DIV>
<DIV> </DIV>
<DIV>const char szMensaje[3] = { "piedra", "papel", "tijera" };<BR></DIV>
<DIV>int s = rand() % 3;<BR></DIV>
<DIV> </DIV>
<DIV>cout << "Ordenador: " << szMensaje[s] << endl;</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>No hace falta las sentencias de 'if', ya que la asociación del valor de 's'
y la cadena correspondiente ya existe a la hora de usar vectores: a través de un
índice.</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>Espero que esto te ayude.</DIV>
<DIV> </DIV>
<DIV>Steven</DIV>
<DIV> </DIV></DIV></DIV></DIV>
<P>
<HR>
_______________________________________________<BR>Lista de correo Cconclase
Cconclase@listas.conclase.net<BR>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<BR>Bajas:
http://listas.conclase.net/index.php?gid=2&mnu=FAQ</DIV></DIV></DIV></BODY></HTML>