Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Noporfavor

#61
Hola seth,
Por si no lo sabes también hubiera tenido esa actitud derrotista sin ese comentario.
Y con respecto a Visual Studio, la definición es explicada como si te hablará un científico de Wikipedia.

Hola Hu3c0,
Tus palabras me dieron ánimo. Pasa que en este largo camino hacia el conocimiento hack inglés tengo a veces tiempos muy turbulentos en donde necesito alguien como vos ;)






Edición:

Bueno Hu3c0,
En la primera vuelta de la estructura repetitiva for de la columna se reserva espacio de 30x30. Pero en la segunda vuelta en la fila 1 columna 2 sucede lo mismo. No es cierto? Entendí algo mal?
#62
que los hackers sean bendecidos por sus conocimientos
#63
Es increible que, a pesar de que no estas con C#, sepas entender sus codigos.
Es increible que, a pesar de ser un tema muy dificil para mi eso de las matrices, tu te lo tomas como si fuera viento.
Es increible que, a pesar de tener voluntad, mi naturaleza me lleva bien abajo y me desanima y que a causa de esto deje de aprender C#.
Es increible que, a pesar de haber hecho mucho en C#, todavia me falta mucho en aprender.
Es increible que el poder siempre lo tendran administradores, padres, maestros, policias y que en este mundo no existen los heroes
#64
Ahhh,  ok; vale.

Y que significa size? En esta linea:

  mat[fil, col].Size = new Size(30, 30);

Me fije en Internet y me encontré con tres sizes. Que significa este size?
#65
Ahhh,  vale. Pero entonces hay una cosa que no entiendo:

La fila 1, columna 1 se desplaza a la posición 10, 50?
Seguramente entendí algo mal ya que la matriz es 10x10.

Gracias y saludos
#66
Hola,

antes de preguntar, les mostrare el codigo:

archivo: Form1.Designer.cs
Código: text

namespace Laberinto
{
    partial class Form1
    {
        ///

        /// Variable del diseñador requerida.
        ///

        private System.ComponentModel.IContainer components = null;

        ///

        /// Limpiar los recursos que se estén utilizando.
        ///

        /// true si los recursos administrados se deben eliminar; false en caso contrario, false.
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Código generado por el Diseñador de Windows Forms

        ///

        /// Método necesario para admitir el Diseñador. No se puede modificar
        /// el contenido del método con el editor de código.
        ///

        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.button2 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(11, 15);
            this.button1.name=%26quot%3Bbutton1%26quot%3B%3B
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 0;
            this.button1.Text = "Verificar";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // button2
            //
            this.button2.Location = new System.Drawing.Point(93, 15);
            this.button2.name=%26quot%3Bbutton2%26quot%3B%3B
            this.button2.Size = new System.Drawing.Size(124, 23);
            this.button2.TabIndex = 1;
            this.button2.Text = "Otro laberinto";
            this.button2.UseVisualStyleBackColor = true;
            this.button2.Click += new System.EventHandler(this.button2_Click);
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(345, 428);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.button1);
            this.name=%26quot%3BForm1%26quot%3B%3B
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button2;
    }
}


archivo: Form1.cs

Código: text

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Laberinto
{
    public partial class Form1 : Form
    {
        private Label[,] mat;
        private bool salida;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int x = 10;
            int y = 50;
            mat=new Label[10,10];
            for (int fil = 0; fil < mat.GetLength(0); fil++)
            {
                for (int col = 0; col < mat.GetLength(1); col++)
                {
                    mat[fil, col] = new Label();
                    mat[fil, col].Location = new Point(x, y);
                    mat[fil, col].Size = new Size(30, 30);
                    Controls.Add(mat[fil, col]);
                    x = x + 32;
                }
                y = y + 32;
                x = 10;
            }
            Crear();
        }

        private void Crear()
        {
            Text = "";
            button1.Enabled = true;
            Random ale=new Random();
            for(int f = 0; f < 10; f++)
            {
                for(int c = 0; c < 10; c++)
                {
                    mat[f, c].BackColor = Color.Azure;
                    int a=ale.Next(0,4);
                    if (a==0)
                        mat[f,c].Text="1";
                    else
                        mat[f,c].Text="0";; 
                }
            }
            mat[9,9].Text="s";
            mat[0,0].Text="0";   
        }

        private void Recorrer(int fil, int col)
        {
            if (fil >= 0 && fil < 10 && col >= 0 && col < 10 && salida == false)
            {
                if (mat[fil,col].Text=="s")
                    salida = true;
                else
                    if (mat[fil,col].Text=="0")
                    {
                        mat[fil,col].Text="9";
                        mat[fil,col].BackColor=Color.Red;
                        Recorrer(fil, col + 1);
                        Recorrer(fil + 1, col);
                        Recorrer(fil - 1, col);
                        Recorrer(fil, col - 1);
                    }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            salida = false;
            Recorrer(0, 0);
            if (salida == true)
                Text = "Tiene salida";
            else
                Text = "No tiene salida";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Crear();
        }       
    }
}


Mi pregunta esta en el archivo Form1.cs. En el evento Load:

Código: text

private void Form1_Load(object sender, EventArgs e)
        {
            int x = 10;
            int y = 50;
            mat=new Label[10,10];
            for (int fil = 0; fil < mat.GetLength(0); fil++)
            {
                for (int col = 0; col < mat.GetLength(1); col++)
                {
                    mat[fil, col] = new Label();
                    mat[fil, col].Location = new Point(x, y);
                    mat[fil, col].Size = new Size(30, 30);
                    Controls.Add(mat[fil, col]);
                    x = x + 32;
                }
                y = y + 32;
                x = 10;
            }
            Crear();
        }


Mi pregunta es: que hace esta linea?:
mat[fil, col].Location = new Point(x, y);

Que significa Location?

Gracias y saludos
#67
Buena rollth,
que torpe de mi parte verlo complicado. Gracias!!!
#68
Hola de nuevo,
la duda del codigo esta resuelta. Pero tengo un ultimo codigo del mismo tema todavia.

Se los paso:

Código: text

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Recursividad6
{
    class Recursivdad
    {
        int[] vec = { 312, 614, 88, 22, 54 };

        void Ordenar(int[] v, int cant)
        {
            if (cant > 1)
            {
                for (int f = 0; f < cant - 1; f++)
                {
                    if (v[f] > v[f + 1])
                    {
                        int aux = v[f];
                        v[f] = v[f + 1];
                        v[f + 1] = aux;
                    }
                }
                Ordenar (v, cant - 1);
            }
        }

        void Procesar()
        {
            Ordenar(vec, vec.Length);
        }

        void Imprimir()
        {
            for (int f = 0 ; f < vec.Length ; f++)
                Console.WriteLine (vec [f] + "  ");
            Console.WriteLine();
        }


   
        static void Main(string[] args)
        {
            Recursivdad r = new Recursivdad();
            r.Imprimir();
            r.Procesar();
            r.Imprimir();
            Console.ReadKey();
        }
    }
}


Bueno por ser tan complicado (para mi)(hasta el mas complicado con el que me tope), tengo muchas preguntas. La primera esta en este metodo:

Código: text

void Procesar()
        {
            Ordenar(vec, vec.Length);
        }


En vec se pasa como parametro estos elementos?: { 312, 614, 88, 22, 54 }

Gracias y saludos

#69
Ahhh muchisimas gracias!!! Hermano

Creio que era para C#.
Entonces si lo quiero hacer para C# creeria que tendria que reemplazar el System.out.println por Console.Write.
#70
Hola,

queria implementar un método recursivo que imprima en forma descendente de 5 a 1 de uno en uno. Me encontre en internet con esto:


Código: csharp
public class Recursividad {

    void imprimir(int x) {
        if (x>0) {
            System.out.println(x);
            imprimir(x-1);
        }   
    }
   
    public static void main(String[] ar) {
        Recursividad re=new Recursividad();
        re.imprimir(5);
    }


Pero tengo un problema:
Que significa System.out.println?

Gracias y saludos
#71
Gracias amigazo. No hubiera entendido esto sin vos. :)
#72
Ahhhhh, gracias; no me hubiera dado cuenta.

Te podria mostrar otra cosa? :)

El tema es el mismo. Solo el codigo cambia:
Citar
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ListaGenerica2
{
    class ListaGenerica
    {
        class Nodo
        {
            public int info;
            public Nodo sig;
        }

        private Nodo raiz;

        public ListaGenerica()
        {
            raiz = null;
        }

        void InsertarPrimero(int x)
        {
            Nodo nuevo = new Nodo();
            No tienes permitido ver los links. Registrarse o Entrar a mi cuenta = x;
            nuevo.sig = raiz;
            raiz = nuevo;
        }

        public void InsertarUtlimo(int x)
        {
            Nodo nuevo = new Nodo();
            No tienes permitido ver los links. Registrarse o Entrar a mi cuenta = x;
            if (raiz == null)
                raiz = nuevo;
            else
            {
                Nodo reco = raiz;
                while (reco.sig != null)
                {
                    reco = reco.sig;
                }
                reco.sig = nuevo;
            }
        }

        public void InsertarSegundo(int x)
        {
            if (raiz != null)
            {
                Nodo nuevo = new Nodo();
                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta = x;
                if (raiz.sig == null)
                {
                    //Hay un solo nodo.
                    raiz.sig = nuevo;
                }
                else
                {
                    nuevo.sig = raiz.sig;
                    raiz.sig = nuevo;
                }
            }
        }

        public void InsertarAnteUltimo(int x)
        {
            if (raiz != null)
            {
                Nodo nuevo = new Nodo();
                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta = x;
                if (raiz.sig == null)
                {
                    //Hay un solo nodo.
                    nuevo.sig = raiz;
                    raiz = nuevo;
                }
                else
                {
                    Nodo atras = raiz;
                    Nodo reco = raiz.sig;
                    while (reco.sig != null)
                    {
                        atras = reco;
                        reco = reco.sig;
                    }
                    nuevo.sig = atras.sig;
                    atras.sig = nuevo;
                }
            }
        }

        public void BorrarPrimero()
        {
            if (raiz != null)
            {
                raiz = raiz.sig;
            }
        }

        public void BorrarSegundo()
        {
            if (raiz != null)
            {
                if (raiz.sig != null)
                {
                    Nodo tercero = raiz.sig;
                    tercero = tercero.sig;
                    raiz.sig = tercero;
                }
            }
        }

        public void BorrarUltimo()
        {
            if (raiz != null)
            {
                if (raiz.sig == null)
                {
                    raiz = null;
                }
                else
                {
                    Nodo reco = raiz.sig;
                    Nodo atras = reco;
                    while (reco.sig != null)
                    {
                        atras = reco;
                        reco = reco.sig;
                    }
                    atras.sig = null;
                }
            }

        }
        public void Imprimir()
        {
            Nodo reco = raiz;
            while (reco != null)
            {
                Console.Write (reco.info + "-");
                reco = reco.sig;
            }
            Console.WriteLine();
        }

        public void BorrarMayor()
        {
            if (raiz != null)
            {
                Nodo reco = raiz;
                int may = No tienes permitido ver los links. Registrarse o Entrar a mi cuenta;
                while (reco != null)
                {
                    if (reco.info > may)
                    {
                        may = No tienes permitido ver los links. Registrarse o Entrar a mi cuenta;
                    }
                    reco = reco.sig;
                }
                reco = raiz;
                Nodo atras = raiz;
                while (reco != null)
                {
                    if (reco.info == may)
                    {
                        if (reco == raiz)
                        {
                            raiz = raiz.sig;
                            atras = raiz;
                            reco = raiz;
                        }
                        else
                        {
                            atras.sig = reco.sig;
                            reco = reco.sig;
                        }
                    }
                    else
                    {
                        atras = reco;
                        reco = reco.sig;
                    }
                }
            }
        }


        static void Main(string[] args)
        {
            ListaGenerica lg=new ListaGenerica();
            lg.InsertarPrimero (10);
            lg.InsertarPrimero(45);
            lg.InsertarPrimero(23);
            lg.InsertarPrimero(89);
            lg.Imprimir();
            Console.WriteLine("Insertamos un nodo al final:");
            lg.InsertarUtlimo(160);
            lg.Imprimir();
            Console.WriteLine("Insertamos un nodo en la segunda posición:");
            lg.InsertarSegundo(13);
            lg.Imprimir();
            Console.WriteLine("Insertamos un nodo en la anteultima posición:");
            lg.InsertarAnteUltimo(600);
            lg.Imprimir();
            Console.WriteLine("Borramos el primer nodo de la lista:");
            lg.BorrarPrimero();
            lg.Imprimir();       
            Console.WriteLine("Borramos el segundo nodo de la lista:");
            lg.BorrarSegundo();
            lg.Imprimir();
            Console.WriteLine("Borramos el ultimo nodo de la lista:");
            lg.BorrarUltimo();
            lg.Imprimir();               
            Console.WriteLine("Borramos el mayor de la lista:");
            lg.BorrarMayor();
            lg.Imprimir();
            Console.ReadKey();       
        }
    }
}

Mi duda estaba en este metodo:
Citar
void InsertarPrimero(int x)
        {
            Nodo nuevo = new Nodo();
            No tienes permitido ver los links. Registrarse o Entrar a mi cuenta = x;
            nuevo.sig = raiz;
            raiz = nuevo;
        }

Y en este:
Citar
public void Imprimir()
        {
            Nodo reco = raiz;
            while (reco != null)
            {
                Console.Write (reco.info + "-");
                reco = reco.sig;
            }
            Console.WriteLine();
        }

Bueno nosotros invocamos esto:
Citar
static void Main(string[] args)
        {
            ListaGenerica lg=new ListaGenerica();
            lg.InsertarPrimero (10);
            lg.InsertarPrimero(45);
            lg.InsertarPrimero(23);
            lg.InsertarPrimero(89);
            lg.Imprimir();

Cuando invocamos el nodo 89 entonces raiz referenciara solamente 89?
De ser asi asi el metodo Imprimir solamente imprimira 89. Es asi esto?

Gracias y saludos
#73
Huy...!! Muchisimas gracias. Que torpe!! No me habia dado cuenta.

Pero... si no te molestaria...: Tiene raiz un campo sig? Porque raiz es null.

Mira en esta parte:

Código: text

public void Borrar(int pos)
        {
            if (pos <= Cantidad())
            {
                if (pos == 1)
                {
                    raiz = raiz.sig;
                }
                else
                {
                    Nodo reco;
                    reco = raiz;
                    for (int f = 1; f <= pos - 2; f++)
                        reco = reco.sig;
                    Nodo prox = reco.sig;
                    reco.sig = prox.sig;
                }
            }
        }


Si tu invocas esta linea:
lg.Borrar (1);

Se ejecutara esta condición:
Código: text

if (pos == 1)
                {
                    raiz = raiz.sig;
                }


Pero si raiz es null entonces no tendra un campo sig. O como es posible esto?

Gracias :)
#74
Ahhhhh; a ver... dejame saber si lo entendi:

Nodo siguiente = reco.sig;

siguiente fue inicializada para referenciar a la misma instancia a la que referencia el campo sig de la instancia referenciada por reco en ese momento. (Como tu dijiste).


reco.sig = nuevo;

El campo sig del nodo [3, 30] apunta a [2, 15].


nuevo.sig = siguiente;

El campo sig del nodo [2, 15] apunta al nodo [2, 20] porque siguiente apunta adonde apunta el campo sig de reco. Y el campo sig de reco apunta a [2, 20].

Correcto?
#75
Si; yo entiendo eso de las condiciones. Lo que me lía es no saber que es siguiente. Que es siguiente? Y que es reco.sig?
Estoy hablando de eso que viene después de la estructura repetitiva for en la condición 3.

Saludos
#76
Citar
Sabiendo que reco referencia al mismo lugar que raiz

Pero si raiz es null entonces no tendra un campo sig.
Hay algo que no entiendo...
#77
Hola grep,
de acuerdo con el codigo estamos en la posición tres. Pero si pos es dos entonces la estructura repetitiva for se veria asi:
for (int f = 1; f <= 2 - 2; f++)

Como ves, cambie el pos por un dos ya que pos es dos. F es uno. Entonces esta estructura repetitiva me quiere decir mientras 1 se menor a 0 se ejecutara esta estructura repetitiva. Pero 1 no es menor a 0; asi que estamos de acuerdo que esta estructura repetitiva no dara ni una sola vuelta? Y que esto, a su vez provocara que el nodo [2, 15] no se colocara en la posición dos?


Gracias y saludos
#78
Ok, lei los links que me pasaron y entiendo como funciona un tracer y un proxy. Pero ya que estamos aqui cito de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Citar
Por ejemplo, si una hipotética máquina A solicita un recurso a C, lo hará mediante una petición a B, que a su vez trasladará la petición a C; de esta forma C no sabrá que la petición procedió originalmente de A.
[/qoute]

Entonces si traceamos la direccion proxy detras de la cual se oculta la ip de una sala de chat de ares el distino final sera la direccion proxy porque nosotros traceamos nada mas ni nada menos que un intermediario. Como es posible, entonces, saber a travez de esto la ip real de la sala de chat de ares?
A su vez, de que me ha servido leer los links?

Quiza tu opinion personal encontro una respuesta Cl0udswX.

Saludos
#79
Hola ANTRAX,

gracias por tu aporte. Hice lo que tu dijiste. Ahora tengo problemas con los resultados.
Me fui a la pagina que tu me diste como ejemplo. Le di a Trace y puse la IP que tiene analizando el trafico de mi red.
Mira lo que me sale:


Me salen muchas IPs. Como se cual es la verdadera?

Gracias y saludos
#80
Hola,
queria saber la ip de una sala de chat de ares que se esconde detras de un proxy.
Es de ayuda el monitor de recursos?

Gracias y saludos