Autor Tema: Ayuda para poner cadena al reverso [VB.net]  (Leído 6015 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Stigma

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Mensajes: 122
Ayuda para poner cadena al reverso [VB.net]
« : Septiembre 16, 2008, 12:27:51 am »
necesito el comando que se utiliza para poner el texto alrevez por ejemplo si escribes corazon que aparezca nozaroc estoy trabajando en aplicasion de consola y les agradeceria mucho si me ayudaran que pasen buend dia

Desconectado obser7er

  • Trade Count: (17)
  • The Communiter-
  • *
  • Thank You
  • -Given: 373
  • -Receive: 223
  • Mensajes: 4640
  • ferg(at)pcpimpz.com
    • PcPimpz Gamer Store - sucursal SVC
Re: alquien que pueda visual basic.net
« Respuesta #1 : Septiembre 16, 2008, 01:32:44 am »
Supongo que ya probaste "preguntarle a google"  ¬¬

Con por ejemplo las palabras clave:
dar+vuelta+string
info: ferg(at)pcpimpz.com
Newegg|TigerDirect|Amazon|Directron|DELL-USATODO NUEVO Y SELLADO - Mandar a traer HW no es más barato pero es lo mejor!

Desconectado elguaposv

  • Trade Count: (4)
  • The Communiter-
  • *
  • Thank You
  • -Given: 3
  • -Receive: 2
  • Mensajes: 1040
  • "equis dé"
Re: alquien que pueda visual basic.net
« Respuesta #2 : Septiembre 16, 2008, 01:36:13 am »
viejito solo crea una pila y vas metiendo letra por letra, luego las sacas y mostras te va a quedar al revez ( por como funcionan las pilas ya sabemos FIFO ) es lo mas corto que se me ocurre.

aqui te pongo el codigo mira:

Código: [Seleccionar]
using System;

class Class1
{
public static void Main()
{
string p;
int l;
int i = 0;

p = Console.ReadLine();
l = p.Length;

string[] derecho = new string[l];

for (i = 0; i < l; i++)
{
derecho[i] = p.Substring(i, 1);
}

for (i = l-1; i >= 0; i--)
Console.Write(derecho[i]);

Console.Read();
}
}


nada mas que esta en c# pero es parecido.

saludos espero que te sirva y cualquier duda PREGUNTA que aqui estamos PARA AYUDARTE viejo.

:drinks:
« Última Modificación: Septiembre 16, 2008, 01:43:38 am por elguaposv »

Desconectado obser7er

  • Trade Count: (17)
  • The Communiter-
  • *
  • Thank You
  • -Given: 373
  • -Receive: 223
  • Mensajes: 4640
  • ferg(at)pcpimpz.com
    • PcPimpz Gamer Store - sucursal SVC
Re: alquien que pueda visual basic.net
« Respuesta #3 : Septiembre 16, 2008, 01:59:43 am »
Sin complicaciones, .Net lo hace con StrReverse(), según el sitio de MSDN:
Citar
La función StrReverse devuelve una cadena que contiene los mismos caracteres que Expression, pero en el orden contrario.


Cita de: http://msdn.microsoft.com/es-es/library/e462ax87(VS.80).aspx

Visual Basic
Dim TestString As String = "ABCDEFG"
' Returns "GFEDCBA".
Dim revString As String = StrReverse(TestString)

info: ferg(at)pcpimpz.com
Newegg|TigerDirect|Amazon|Directron|DELL-USATODO NUEVO Y SELLADO - Mandar a traer HW no es más barato pero es lo mejor!

N3t0xSV

  • Visitante
  • Trade Count: (0)
Re: Ayuda para poner cadena al reverso [VB.net]
« Respuesta #4 : Septiembre 17, 2008, 04:20:59 pm »
Veo que te han puesto el método que lo hace, pero de todos modos te pongo el código "a pata". Te explico brevemente. Un objeto string es como un arreglo tipo char, así que devolver el contenido al revés es coser y cantar xD.

Código: [Seleccionar]
public static string voltearString(string cadena)
{
    string cadenaVolteada = "";
    for (int i = cadena.Length - 1; i >= 0; i--)
        cadenaVolteada += cadena[i].ToString();
    return cadenaVolteada;
}

edit: está en C#, pero como dicen arriba no es complicado pasarlo a VisualBasic.NET

Salu2
« Última Modificación: Septiembre 17, 2008, 04:39:36 pm por N3t0xSV »

Desconectado Juancho

  • Trade Count: (2)
  • The Communiter-
  • *
  • Thank You
  • -Given: 11
  • -Receive: 16
  • Mensajes: 1288
Re: Ayuda para poner cadena al reverso [VB.net]
« Respuesta #5 : Septiembre 18, 2008, 07:47:31 am »
Veo que te han puesto el método que lo hace, pero de todos modos te pongo el código "a pata". Te explico brevemente. Un objeto string es como un arreglo tipo char, así que devolver el contenido al revés es coser y cantar xD.

Código: [Seleccionar]
public static string voltearString(string cadena)
{
    string cadenaVolteada = "";
    for (int i = cadena.Length - 1; i >= 0; i--)
        cadenaVolteada += cadena[i].ToString();
    return cadenaVolteada;
}

edit: está en C#, pero como dicen arriba no es complicado pasarlo a VisualBasic.NET

Salu2

mmm es cierto eso funciona en C# pero ocupando char, no s la solucion directa la q vs has puesto. Tene en cuenta que en VB ocupas el tipo String para las cadenas, quiero decir q no lo trabjas caracter por caracter como lo pones en tu codigo ejemplo.

Lo primero q tendria q hacer nuestro compañero si lo quisiera hacer a pata (aunq ya no vo el porque   :huh:)  de la siguiente manera:

Código: [Seleccionar]
        Dim s As String = "HOLA"
        Dim c As Char()
        Dim res As String = ""

        c = s.ToCharArray()

        For i As Integer = c.Length - 1 To i >= 1 Step -1
            res += c(i)
        Next       


Y de esa manera si ya la invertis, tenemos q convertir a un arreglo array primero para utilizar tu forma!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

N3t0xSV

  • Visitante
  • Trade Count: (0)
Re: Ayuda para poner cadena al reverso [VB.net]
« Respuesta #6 : Septiembre 18, 2008, 10:49:07 am »
mmm es cierto eso funciona en C# pero ocupando char, no s la solucion directa la q vs has puesto. Tene en cuenta que en VB ocupas el tipo String para las cadenas, quiero decir q no lo trabjas caracter por caracter como lo pones en tu codigo ejemplo.

Lo primero q tendria q hacer nuestro compañero si lo quisiera hacer a pata (aunq ya no vo el porque   :huh:)  de la siguiente manera:

Código: [Seleccionar]
        Dim s As String = "HOLA"
        Dim c As Char()
        Dim res As String = ""

        c = s.ToCharArray()

        For i As Integer = c.Length - 1 To i >= 1 Step -1
            res += c(i)
        Next       


Y de esa manera si ya la invertis, tenemos q convertir a un arreglo array primero para utilizar tu forma!


Tienes razón, por lo que veo en VB.NET no se puede trabajar con las cadenas de la misma manera que en C#. Pero en C# las cadenas si pueden ser usadas directamente como si fueran arreglos tipo char. No hay necesidad de crear un arreglo char y vaciar el string en el.

Ah, Stigma si pidió el método o función que lo haga directamente. No obstante, es bueno y entretenido usar la cabeza y escribir cosas que hagan lo mismo que otras cuyo funcionamiento se encuentra encapsulado. Claro, cuando ya se trabaja en un proyecto real la reutilización de software siempre será lo mejor.

Me ha llamado la atención VisualBasic.NET, creo que voy a aprenderlo para ver como anda.

Desconectado Juancho

  • Trade Count: (2)
  • The Communiter-
  • *
  • Thank You
  • -Given: 11
  • -Receive: 16
  • Mensajes: 1288
Re: Ayuda para poner cadena al reverso [VB.net]
« Respuesta #7 : Septiembre 18, 2008, 03:59:05 pm »
Tienes razón, por lo que veo en VB.NET no se puede trabajar con las cadenas de la misma manera que en C#. Pero en C# las cadenas si pueden ser usadas directamente como si fueran arreglos tipo char. No hay necesidad de crear un arreglo char y vaciar el string en el.

Lo q pasa q en C# no existe el tipo de datos String, por tanto, cuando yo declaro una variable de tipo string, lo q estoy haciendo es declarla de la clase string no del tipo de datos, en otras palabras en C# no existe el String como tipo de datos primitivo, en C# es una clase el String, y unicamente se basa es q un array del tipo de Char, x eso el manejo es distinto.

En cambio en VB el tipo String es un tipo de datos primitivo! Entonces x eso no lo podes manejar como si fuera un array directamente vs!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>