Сохранить в отдельные файлы каждый из трех столбцов содержащейся в файле матрицы - Free Pascal
Формулировка задачи:
не умею работать с файлами, помогите разобраться ,что ,да как, пожалуйста
program Text51;
var
F_in: Text;
F_out_R1,F_out_R2,F_out_R3: file of real;
Name:string;
R:Real;
begin
Write('File In name: ');
Readln(Name);
Assign(F_in,Name);
Reset(F_in);
Write('File Out R1 name: ');
Readln(Name);
Assign(F_out_R1,Name);
Rewrite(F_out_R1);
Write('File Out R2 name: ');
Readln(Name);
Assign(F_out_R2,Name);
Rewrite(F_out_R2);
Write('File Out R3 name: ');
Readln(Name);
Assign(F_out_R3,Name);
Rewrite(F_out_R3);
While not eof(F_in) do
begin
Read(F_in,R);
Write(F_out_R1,R);
Read(F_in,R);
Write(F_out_R2,R);
Readln(F_in,R);
Write(F_out_R3,R);
end;
Close(F_in);
Close(F_out_R1);
Close(F_out_R2);
Close(F_out_R3);
end.Решение задачи: «Сохранить в отдельные файлы каждый из трех столбцов содержащейся в файле матрицы»
textual
Листинг программы
var t,q,w,e:Text; a,b,c:real; begin assign(t,'файл'); reset(f); assign(q,'файл'); rewrite(q); assign(w,'файл'); rewrite(w); assign(e,'файл'); rewrite(e); while not eof(t) do begin readln(t,a,b,c); writeln(q,a); writeln(w,b); writeln(e,c); end; close(t); close(q); close(w); close(e); end.
Объяснение кода листинга программы
- Объявлены четыре переменные: t, q, w, e типа Text; a, b, c типа real.
- Присваивается имя файла переменной t и открывается файл для чтения с помощью функции assign, а затем проверяется его наличие с помощью функции exist.
- Переменная t связывается с файлом с помощью функции open.
- Аналогичные действия выполняются для переменных q, w, e.
- В цикле while происходит чтение из файла t с помощью функции readln и запись в файлы q, w, e значений переменных a, b, c соответственно.
- После окончания цикла файлы q, w, e закрываются с помощью функции close.
- Закрытие файла t выполняется вне цикла while.