╤фхыры фы трё 2 трЁшрэЄр. 1 -¤Єю ё ЄхъёЄют√ь Їрыюь, тЄюЁющ-ё ЄшяшчшЁютрээ√ь
╩юф
{вариант 1 - файл ТЕКСТОВЫЙ, каждый эл-т на новой строке}
Program Massivi_iz_faila;
uses crt;
var
w:text; {файл из которого читаем}
ww:text; {новый файл, в который записываем}
a:array[1..9] of integer; {какого типа элементы массива - не важно, можно менять}
filename,fn2:string; {путь к файлу}
i:byte;
begin
ClrScr; {очистим экран}
Writeln('Введите имя файла FILE NAME : ');
readln(filename);
Assign(w,filename);
{$I-} reset(w); {$I+}
If IoResult<>0 then
begin
writeln('О??БКА, ERROR, файл НЕ открыт, NOT RESET!');
writeln('Запустите программу снова');
halt(IoResult) {завершаем работу, с кодом ошибки}
end;
{читаем массив}
For i:=1 to 9 do readln(w,a[i]);
{готовим новый файл ww}
writeln; writeln('Введите имя создаваемого файла');
readln(fn2);
Assign(ww,fn2);
{создаем файл}
rewrite(ww);
{записываем туда информацию, по заданию}
{записываем сначала с 2 по 9 эл-т а потом в конец 1 эл-т, таким образом
получаем смещение эл-тов вправо.}
For i:=2 to 9 do writeln(ww,a[i]);
writeln(ww,a[1]);
writeln('все, все дейстия выполненны по заданию!');
Close(w); Close(ww);
end.
трЁшрэЄ 21
╩юф
{вариант 2 - файл типизированный}
Program Massivi_iz_faila;
uses crt;
var
w:file of integer; {файл из которого читаем}
ww:file of integer; {новый файл, в который записываем}
a:array[1..9] of integer; {какого типа элементы массива - не важно, можно менять}
filename,fn2:string; {путь к файлу}
i:byte;
begin
ClrScr; {очистим экран}
Writeln('Введите имя файла FILE NAME : ');
readln(filename);
Assign(w,filename);
{$I-} reset(w); {$I+}
If IoResult<>0 then
begin
writeln('О??БКА, ERROR, файл НЕ открыт, NOT RESET!');
writeln('Запустите программу снова');
halt(IoResult) {завершаем работу, с кодом ошибки}
end;
{читаем массив}
{не забываем, что 1 эл-т в типизир. файле - насамом деле нулевой}
for i:=1 to 9 do
begin
seek(w,(i-1));
read(w,a[i])
end;
{готовим новый файл ww}
writeln; writeln('Введите имя создаваемого файла');
readln(fn2);
Assign(ww,fn2);
{создаем файл}
rewrite(ww);
{записываем туда информацию, по заданию}
{записываем сначала с 2 по 9 эл-т а потом в конец 1 эл-т, таким образом
получаем смещение эл-тов вправо.}
For i:=2 to 9 do
begin
seek(ww,(i-2));
write(ww,a[i])
end;
seek(ww,filesize(ww)); {перемещаем на последний эл-т}
write(ww,a[1]);
writeln('все, все дейстия выполненны по заданию!');
Close(w); Close(ww);
end.