elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda sobre ordenacion en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda sobre ordenacion en C#  (Leído 4,257 veces)
F3RN1

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Ayuda sobre ordenacion en C#
« en: 8 Abril 2008, 19:57 pm »

Hola, vereis estoy haciendo una práctica en la que me dan un fichero de texto en el que en cada linea hay una palabra en español;traduccion en ingles.Por ejemplo:

agua;water
libro;book
guapa;beautifl

Pues bien en la aplicacion al darle al boton abrir y seleccionar el fichero de texto que contiene esas lineas que os acabo de explicar, tiene que generar automaticamente dos ficheros llamados dicc.esp y dicc.ing. En dicc.esp tengo que introducir todas las palabras y su traduccion ordenadas por la palabra en español y con la siguiente sintaxis:

palabra español
palabra ingles
palabra español
palabra ingles
     .
     .
     .
etc

Por ejemplo para las lineas de arriba el fichero dicc.esp tendria que quedar:

agua
water
guapa
beautiful
libro
book

Y para el fichero dicc.ing tendria qe hacer lo mismo pero ordenado por las palabras en ingles, quedaria:

beautiful
guapa
book
libro
water
agua

Yo lo de generar los dos ficheros lo di hecho y leer una linea del fichero principal y cojer la palabra española y meterla en dicc.esp y cojer la palabra inglesa y meterla en dicc.ing tb lo se hacer, pero claro eso no es lo que me piden XD.

Como restriccion tengo que no puedo usar arrays asi que supongo que tendria que pasar las palabras a una lista y ordenarlas alli pero no se como.Aver si me podeis ayudar


Un ssaludo y gracias


En línea

Kpax


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: Ayuda sobre ordenacion en C#
« Respuesta #1 en: 12 Abril 2008, 04:50 am »

Bueno ya hay clases que hacen eso, claro no lo que pides pero si respecto a los ordenamientos.

Revisa todo lo referente a los List y clases genericas


En línea

En este mundo una de dos
lordram

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda sobre ordenacion en C#
« Respuesta #2 en: 24 Mayo 2008, 19:19 pm »

He usado las palabras de ejemplo directametne en una cadena... simplemente sería leer el fichero y poner el texto en la variable contenidoFichero.
Código:
using System; 
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ElHacker
{
    class Program
    {

        class Word
        {
            public string Castellano { get; set; }
            public string Ingles { get; set; }
        }

        private string contenidoFichero = "agua;water\nlibro;book\nguapa;beautiful";

        private List<Word> palabras = new List<Word>();

        public Program()
        {
            ObtenerPalabras();
            GenerarDiccionarioCastellanoIngles();
            GenerarDiccionarioInglesCastellano();
        }

        private void ObtenerPalabras()
        {           
            foreach (var linea in contenidoFichero.Split('\n'))
                palabras.Add(new Word { Castellano = linea.Split(';')[0], Ingles = linea.Split(';')[1] });
        }

        private void GenerarDiccionarioCastellanoIngles()
        {
            var solucion = from palabra in palabras orderby palabra.Castellano ascending select palabra;
            foreach (var palabra in solucion)
                Console.WriteLine(palabra.Castellano +" -> "+ palabra.Ingles);
        }

        private void GenerarDiccionarioInglesCastellano()
        {
            var solucion = from palabra in palabras orderby palabra.Ingles ascending select palabra;
            foreach (var palabra in solucion)
                Console.WriteLine(palabra.Ingles + " -> " + palabra.Castellano);
        }

        static void Main(string[] args)
        {
            new Program();
        }

    }
}
En línea

Kpax


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: Ayuda sobre ordenacion en C#
« Respuesta #3 en: 28 Mayo 2008, 07:43 am »

La verdad solo seria guardar en un solo LIST ambos valores, el ordenamiento tienes que programarlo por medio de una funcion que te pide definir el LIST, en ese momento tu le puedes brndar los criterios (que ord. por ESP o ING).

Saludos y aver ocmo te fue
En línea

En este mundo una de dos
kargarof

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Ayuda sobre ordenacion en C#
« Respuesta #4 en: 2 Julio 2008, 13:25 pm »

Yo leería la primera línea del fichero.

Lo metería en una variable string, averiguaría su longitud, localizaría en que posición está el ";" y separaría la cadena en 2 nuevas variables string y las introduciría en el nuevo archivo.

Limpiaría la primera cadena y volvería a leer, así hasta EOF.

Te evitas List y Arrays, es más engorroso pero posiblemente sea lo que se pretende con la práctica.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con ordenación plis!
Programación C/C++
mihina 1 1,780 Último mensaje 22 Febrero 2011, 13:25 pm
por mihina
Ayuda algoritmo de ordenacion
Programación C/C++
0and6 2 1,869 Último mensaje 1 Agosto 2015, 07:27 am
por 0and6
Ayuda con una ordenacion de un array please? :P
Programación C/C++
valeeen 6 2,328 Último mensaje 13 Diciembre 2015, 20:01 pm
por valeeen
(wxMaxima) Consulta sobre enunciado de un ejercicio (conjuntos y ordenación)
Dudas Generales
class_OpenGL 0 2,018 Último mensaje 4 Noviembre 2016, 00:04 am
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines