• Martes 30 de Abril de 2024, 06:31

Autor Tema:  Colocar en arreglos desde un txt  (Leído 1691 veces)

ahom31

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Colocar en arreglos desde un txt
« en: Miércoles 7 de Octubre de 2009, 16:29 »
0
Necesito cargar los datos desde un archivo “.txt”, en un arreglo genérico, y a partir de ahí pasarlos a arreglos individuales por cada tipo de datos, los cuales debe imprimirse en forma ordenada. Esto debo hacerlo en c#, necesito ayuda con el codigo.

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: Colocar en arreglos desde un txt
« Respuesta #1 en: Miércoles 7 de Octubre de 2009, 17:01 »
0
No entiendo muy bien un par de cosas, esoi un poco "griposo" y por eso estoy un poco lento hoy, vamos a ver. Los datos que quieres cargar que es exactamente, un archivo de texto normal, los datos estan separados unos de otros de algun modo? esapcios, por lineas..., otra cosa, a tipos te refieres a string, int, float, bytes... i por ultimo a que te refieres a que se impriman de forma ordenada? string's por un lado, int's por otro? de mayor a menor? igual que los leistes? ah e imprimir por pantalla, por impresora...

bueno la verdad es que creo que estoi muy espesito hoy porque ahora leyendo lo escrito me doi cuenta que no me enterado de nada de lo que buscas exactamente...

saludos

ahom31

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Colocar en arreglos desde un txt
« Respuesta #2 en: Miércoles 7 de Octubre de 2009, 17:53 »
0
el trabajo es en c# y en consola, los datos debo cargarlos desde un texto normal, los datos estan separados por espacios, a tipos si me refiero a string, int, bool, por ejemplo:
int   23
char j
string Hola
char   #
int   9
double   243.436

y debo imprimirlos asi: string's por un lado y int's por otro y si se puede tambien de menor a mayor

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: Colocar en arreglos desde un txt
« Respuesta #3 en: Miércoles 7 de Octubre de 2009, 19:53 »
0
bueno, te voi a dejar algo para que te hagas una idea mas o menos, no esta la lectura del archivo, supongo que no tendras problemas en hacerlo  meterlo en una variable string.
No estan puestos los arreglos, pero donde yo pongo el console.WriteLine(X) es donde tu puedes insertar el resultado X al arreglo

una vez tengas los arreglos separados puedes organizarlos con: Array.Sort(aki la matriz);

Código: C#
  1. class Program
  2.     {
  3.         static string texto ="No entiendo muy bien un par de cosas, esoi un poco 'griposo' y por eso estoy un poco lento hoy, vamos a ver. Los datos que quieres cargar que es exactamente, un archivo de texto normal, los datos estan separados unos de otros de algun modo? esapcios, por lineas..., otra cosa, a tipos te refieres a string, int, float, bytes... i por ultimo a que te refieres a que se impriman de forma ordenada? string's por un lado, int's por otro? de mayor a menor? igual que los leistes? ah e imprimir por pantalla, por impresora...";
  4.  
  5.         static void Main(string[] args)
  6.         {
  7.             char[] seps = { ' ' };
  8.             string[] cad = texto.Split(seps);
  9.  
  10.             for (int i = 0; i < cad.Length; i++)
  11.             {
  12.                
  13.                 string a = cad[i];
  14.  
  15.                 double decim;
  16.                 int entero;
  17.                 char caracter;
  18.                 string Str;
  19.  
  20.  
  21.                 // comprovamos si es int, si lo es se asigna el valor a la variaable entero
  22.                 if(int.TryParse(a,out entero))
  23.                 {
  24.                     Console.WriteLine("entero " + entero);
  25.                 }
  26.  
  27.                     //lo mismo pero con double si es decimal
  28.                 else if (double.TryParse(a,out decim))
  29.                 {
  30.                     Console.WriteLine("decimal " + decim);
  31.                 }
  32.                     //si solo es un caracter suelto lo considrariamos char
  33.                 else if (a.Length == 1)
  34.                 {
  35.                     Console.WriteLine("char " + a);
  36.                 }
  37.                     //si no sera un string (pero el string puede llevar chars al principio y al final
  38.                 else
  39.                 {
  40.                     //si lleva cualquiera de estos caracteres delante lo cogemos y luego lo quitamos, lo suyo seria poner muchos mas
  41.                     if (a[0].ToString() == "," || a[0].ToString() == "." || a[0].ToString() == "'" || a[0].ToString() == "¿")
  42.                     {
  43.                         Console.WriteLine("char " + a[0]);
  44.                         string temp = "";
  45.                         for (int e = 1; e < a.Length; e++)
  46.                         {                            
  47.                             temp += a[e].ToString();
  48.                         }
  49.                         a = temp;
  50.                     }
  51.  
  52.                     bool prova = false; //el bool i el string son solo para esctibir en pantalla por orden
  53.                     string caracterrr = "";
  54.  
  55.  
  56.                     //aki miramos si el ultimo caracter es uno de estos
  57.                     //podriamos crear un bucle por si encuentra uno mirar haber si hay otro
  58.                     int n = a.Length - 1;                    
  59.                     if (a[n].ToString() == "," || a[n].ToString() == "." || a[n].ToString() == "'" || a[n].ToString() == "?")
  60.                     {
  61.                         prova = true;
  62.                         caracterrr=a[n].ToString();
  63.                         string temp = "";
  64.                         for (int e = 0; e < a.Length-1; e++)
  65.                         {
  66.                             temp += a[e].ToString();
  67.                         }
  68.                         a = temp;
  69.                     }
  70.  
  71.                     Console.WriteLine("string " + a);
  72.                     if (prova) Console.WriteLine("char " + caracterrr);
  73.                        
  74.                 }
  75.             }
  76.             Console.ReadLine();
  77.         }
  78.     }
  79.  

Supongo que habra maneras menos complicadas de hacerlo... pero yo tb soy algo novato  autodidacta...
Ah creo que asi los decimales "double" solo los detecta si son con "," 32,3508
Saludos

ahom31

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Colocar en arreglos desde un txt
« Respuesta #4 en: Miércoles 7 de Octubre de 2009, 22:27 »
0
muchas gracias me sirvio mucho :good: