Hola Josep,<br><br><div class="gmail_quote">2011/7/1 josep el wendo <span dir="ltr"><<a href="mailto:josepbord@hotmail.com">josepbord@hotmail.com</a>></span><br><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">




<div><div dir="ltr">
hola de nuevo;<br><br>debe ser una gilipollez, pero no encuentro la manera;<br><br>esto es un trozo de codigo para que quite los " " espacios de un array de caracteres:<br></div></div></blockquote><div> </div><div>
Bueno, viendo un poco el código, te puedo decir que esto no es necesario, porque 'cin >>' se detiene al encontrar un espacio. De hecho, se detiene al encontrarse un espacio blanco: ' ', '\t' (tabulación), '\r' (retorno de carro), '\n' (nueva línea), '\v' (tabulación vertical), '\f' (avance de página).</div>
<div> </div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote"><div><div dir="ltr">char paraula[40] ;<br>
<br><br><br><br>int main()<br>{<br> <br>     cin>> paraula;<br>     <br>     <br>     <br>      for (int i=0; i<40;i++)<br>  {<br> <br>      <font color="#ff0000">if ( paraula[i] == " ")</font> aqui esta el fallo,  me dice que no se puede comparar un puntero con un  integer  y si pongo *paraula[i] lo cual me da, creo, el valor de paraula[i] o sea, el caracter, me da "invalid type argument of 'unary'"<br>
</div></div></blockquote><div> </div><div>Esto es normal porque las comillas indican una cadena de caracteres. Así es que estás intentando comparar un carácter con una cadena de caracteres. En cuanto a '*paraula[i]', no tiene sentido, porque estaría intentando usar un 'char' como si fuese un puntero, cosa que no es.</div>
<div> </div><div>El puntero realmente es la caden literal: " " y el entero es el carácter de tipo 'char' que obtienes con: paraula[i].</div><div> </div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
<div><div dir="ltr">      for (int j=i; j<39;j++)<br>      { <br>          paraula[i]=paraula [i+1];<br>          }}<br>          cout <<"sin espacios   "<< paraula<<endl;<br><br></div></div>
</blockquote><div> </div><div>Este código te sirve para eliminar los primeros espacios en una cadena, pero no todas. No sé si esto es lo que quieres hacer.</div><div> </div><div>De todas maneras, ten presente que la cadena se guarda en un array finalizada (la cadena) por un carácter nulo. Por lo tanto, sugiero que busques ese carácter nulo, para ir "mudando" todos los caracteres de la cadena. No te interesa mover los demás caracteres que no pertenezcan a la cadena, pero sí se guardan en el array.</div>
<div> </div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote"><div><div dir="ltr">entonces, como accedo a los valores del array uno a uno para operar con ellos?<br>
<br></div></div></blockquote><div> </div><div>Con el operador [] junto con un entero que representa un índice. Esto ya lo vienes haciendo.</div><div> </div><div> </div><div>Espero haber aclarado las dudas.</div><div> </div>
<div>Steven</div><div> </div></div>