Следующее создает таблицу M с матрицами 8x8 и таблицу V с векторными строками 1x4.
При желании вы можете создать M и V заранее как массивы размера n.Просто раскомментируйте эти строки.Вы можете видеть, что он жестко запрограммирован для 100 пар матрицы-вектора.Увеличивай как хочешь.В любом случае он остановится, если не сможет просканировать следующий элемент, обнаружив сбои fscanf и выход из цикла.
В моем примере использовался файл данных в виде открытого текста, который содержал всего три пары Matrix и Vector,сделал сбой при сбое на четвертой паре попыток сканирования.
restart:
Z:="C://TEMP//mydata.txt":
fclose(Z);
#M:=Array(1..100):
#V:=Array(1..100):
for i from 1 to 100 do
try
M[i]:=fscanf(Z,"%{8,8}ldm")[1];
V[i]:=fscanf(Z,"%{4}ldr")[1];
catch "end of input encountered":
break;
end try;
end do;
M[2]; # returns the 2nd entry (a 8x8 Matrix) of M
V[2]; # returns the 2nd entry (a 1x4 row Vector) of V