Записать в файл последовательность доступа N натуральных чисел: a1, a2,a3….an (числа получить с помощью датчика случайных чисел). Сформировать новый файл последовательного доступа, элементами которого являются числа a1, a1*a2, a1*a2*a3,……..,a1*a2*a3*……an — Pascal(Паскаль)

var
a:array[1..n]of integer;
s:array[1..n]of integer;
i,j,n:integer;
output1,output2:text;
begin
assign(output1, 'output1.txt');
rewrite(output2);
assign(output2, 'output2.txt');
rewrite(output2);
 
write('Введите размер массива: ', n);
read(n);
for i:=1 to n do
a[i]:=random;
write(output1, a[i]);
 
s[1]:=a[1];
for i:=1 to n do
  for j:=1 to n do
    s[j]:=s[j]*i;
write(output2, s[j]);
close(output1);
close(output2);
end.
uses crt;
var f,g:file of longint;
    n,a,i,j,p:longint;
begin
clrscr;
randomize;
assign(f,'file1');
rewrite(f);
assign(g,'file2');
rewrite(g);
write('Сколько чисел ввести в файл n=');
readln(n);{условие поганое, поэтому большое n вводить не нужно}
for i:=1 to n do
 begin
  a:=random(5)+1;{числа тоже поменьше возьмем}
  write(f,a);
 end;
writeln('Содержание исходного файла:');
reset(f);
for i:=0 to filesize(f)-1 do
 begin
  read(f,a);
  write(a,' ');
 end;
close(f);
writeln;
reset(f);
for i:=0 to filesize(f)-1 do
 begin
  p:=1;
  for j:=0 to i do
   begin
    seek(f,j);
    read(f,a);
    p:=p*a;
   end;
  write(g,p);
 end;
close(f);
writeln('Новый файл:');
reset(g);
for i:=0 to filesize(g)-1 do
 begin
  read(g,a);
  write(a,' ');
 end;
close(g);
readln
end.

Leave a Comment

29 − 26 =