Author Topic: Ayuda para poner cadena al reverso [VB.net]  (Read 13113 times)

0 Members and 1 Guest are viewing this topic.

Offline Stigma

  • Sv Member
  • ***
  • Posts: 122
Ayuda para poner cadena al reverso [VB.net]
« on: September 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

Offline obser7er

  • The Communiter-
  • *
  • Posts: 4728
  • ferg(at)pcpimpz.com
    • PcPimpz Gamer Store - sucursal SVC
Re: alquien que pueda visual basic.net
« Reply #1 on: September 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!

ElGuapo_sv

  • Guest
Re: alquien que pueda visual basic.net
« Reply #2 on: September 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:

Code: [Select]
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:
« Last Edit: September 16, 2008, 01:43:38 am by elguaposv »

Offline obser7er

  • The Communiter-
  • *
  • Posts: 4728
  • ferg(at)pcpimpz.com
    • PcPimpz Gamer Store - sucursal SVC
Re: alquien que pueda visual basic.net
« Reply #3 on: September 16, 2008, 01:59:43 am »
Sin complicaciones, .Net lo hace con StrReverse(), según el sitio de MSDN:
Quote
La función StrReverse devuelve una cadena que contiene los mismos caracteres que Expression, pero en el orden contrario.

Quote from: 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

  • Guest
Re: Ayuda para poner cadena al reverso [VB.net]
« Reply #4 on: September 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.

Code: [Select]
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
« Last Edit: September 17, 2008, 04:39:36 pm by N3t0xSV »

Offline Juancho

  • The Communiter-
  • *
  • Posts: 1311
Re: Ayuda para poner cadena al reverso [VB.net]
« Reply #5 on: September 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.

Code: [Select]
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:

Code: [Select]
        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

  • Guest
Re: Ayuda para poner cadena al reverso [VB.net]
« Reply #6 on: September 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:

Code: [Select]
        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.

Offline Juancho

  • The Communiter-
  • *
  • Posts: 1311
Re: Ayuda para poner cadena al reverso [VB.net]
« Reply #7 on: September 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>