<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>