Convertir una fila de números de cadena a enteros.
Tengo un archivo de texto con múltiples filas, en la primera fila el primer número N indica cuántas filas habrá después de la tercera, y el segundo número M es la cantidad de columnas que habrá. La segunda fila contiene M números. La tercera fila es igual a la segunda pero con un número más bajo.
El ejemplo se ve así:
6 8
9 9 9 9 9 9 9 9
5 5 5 5 5 5 5 5
8 4 6 6 6 6 6 6
7 5 7 6 6 6 6 5
6 6 6 5 5 5 5 6
8 6 8 7 7 7 7 6
8 6 6 6 6 6 6 6
8 6 6 6 6 6 6 1
Entonces, N es 6 lo que significa que hay seis filas más después de la tercera, M es 8, por lo que hay 8 columnas.
Ya he separado la primera fila y las he asignado a variables, y obtuve que el valor de la primera es 9 y el de la segunda es 5. Ahora tengo que separar las filas restantes en el mismo array, para que queden así: “8” “4” “6” “6” “6” “6” “6” “6” “7” “5” “7” “6” etc…
Intenté poner las filas en un array y luego separarlas en otro con un ciclo for, pero no parece funcionar.
Hasta ahora tengo esto:
static void Main(string[] args)
{
string[] frow = Console.ReadLine().Split(' ');
int dn = int.Parse(frow[0]);
int an = int.Parse(frow[1]);
string[] rows = new string[an];
int[] points = new int[an * dn];
string[] mxp = Console.ReadLine().Split(' ');
string[] mnp = Console.ReadLine().Split(' ');
int maxp = int.Parse(mxp[0]);
int minp = int.Parse(mnp[0]);
for (int i = 0; i < dn; i++)
{
rows[i] = Console.ReadLine();
points[i] = rows[i].Split(' ');
}
}
Cualquier ayuda es apreciada.
davy.ai
Para dividir las filas restantes en un array, puedes utilizar un bucle for anidado para iterar sobre cada fila y dividirlas en números individuales.
Aquí está el código actualizado:
En el bucle interno, utilizamos la fórmula
i * an + j
para calcular el índice del número actual en el arraypoints
. La variablei
comienza en 0 y se incrementa con cada fila, mientras que la variablej
comienza en 0 y se incrementa con cada número en la fila.