File85. Даны два целых числа $$I$$, $$J$$ и файл вещественных чисел, содержащий ненулевую часть трехдиагональной матрицы (по строкам). Вывести порядок матрицы и ее элемент, расположенный в $$I$$-й строке и $$J$$-м столбце (строки и столбцы нумеруются от $$1$$). Если требуемый элемент находится в нулевой части матрицы, то вывести $$0$$; если элемент отсутствует, то вывести $$-1$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
program File85; var F: file of Real; len,i,j,i2,j2:integer; Cell:Real; Name:String; begin Write('File In: '); Readln(Name); Write('I: '); Readln(I); Write('J: '); Readln(J); Assign(F,Name); Reset(F); len:=0; While (not eof(F)) do begin Read(F,Cell); inc(len); end; Close(F); len:=2+((len-4) div 3); writeln(len); if (I>len) or (J>len) or (I<1) or (J<1) then Writeln('-1') else if (i-1>J) or (j>i+1) then Writeln('0') else begin Reset(F); i2:=1; J2:=0; While not eof(F) do begin inc(j2); Read(F,Cell); if (j2=j) and (i2=i) then Writeln(Cell); if J2=i2+1 then begin J2:=I2-1; inc(i2); end; end; Close(F); end; end. |
Другие задачи из раздела File можно посмотреть здесь.
Комментарии: