Sabes programar en PASCAL? ¡AYÚDAME!

Ninja Code

Oro Blanco
Usuario de Bronce
Mensajes
1,334
Puntuación de reacción
0
Buenas amigos, necesito realizar algunas validaciones para un proyecto en la universidad, tengo más de 2 días intentando solucionarlas, sin embargo aún no logro dar con la solución, alguien domina este lenguaje y puede echarme una mano?

Resulta que necesito leer una matriz y un vector mediante un archivo, siguiendo el siguiente formato:

4
1 2 3 4
5 6 7 8
9 1 2 3
5 6 2 7
4
5
6
7

Siendo El primer número (La cantidad de elementos de la matriz "Sólo se trabaja con matrices cuadradas"), luego las filas y columnas de la matriz, y luego los elementos del vector, ahora bien, el formato que he colocado arriba sería el correcto, pero necesito hacer una validación la cual constaría de :

Si el usuario carga un archivo en donde indica que la cantidad de elementos será 4 (Como en el ejemplo anterior), pero coloca más elementos, la forma en como estoy leyendo la matriz se estropea, pongamos un ejemplo

4
1 2 3 8 7 8 9
5 6 7 3 4 5 3
9 1 2 2 3 6 0
5 6 2 7 2 3 4
4
5
6
7

Ya que estoy leyendo el archivo con dos for anidados, uno para recorrer filas y otro para recorrer las columnas, colocando como máximo para los ciclos, el número de elementos que debería tener la matriz (Primer número individual)

Si seguimos el ejemplo que coloqué antes, en donde se dice que el numero de elementos de la matriz cuadrada es 4, debería leer en la primera fila hasta el elemento "8" y luego volver a comenzar a leer en fila siguiente, y así durante todo el recorrido. Ya que como lo tengo actualmente solo toma la fila hasta el "8", pero no realiza el salto de fila, y me coloca como primeros elementos de la segunda fila los elementos "7" "8" "9", estropeando así toda la lectura.

Alguien sabe como hacer que luego de leer el máximo (4 en este caso), realice un salto para comenzar a leer en la siguiente fila?, recordar que todo esto es leído por archivo de texto. Espero que puedan ayudarme. Un saludo!
 

antigoo

Cobre
Usuario de Bronce
Mensajes
540
Puntuación de reacción
0
Con dos archivos extras.

Uno para agregar un valor x y rellenar la línea y otros para la salida correcta con un if que recorra la línea y si encuentra un valor x, se salte la línea.
 

anders

Piedra
Usuario de Piedra
Mensajes
53
Puntuación de reacción
0
Ni idea de Pascal, pero porqué no declaras un contador de columnas que si es mayor al primer número, el cual lo asignaría a una variable ya que representa la dimesión de la matriz, y en caso de que el contador sea mayor a esta variable, rompes el bucle que lee las columnas, pasas a la otra fila y reinicias el contador de columnas.
 
Arriba