Создать файл X, компонентами которого являются элементы массива M.

Переписать из файла X в файл Y все компоненты, которые стоят на четных местах. Прочитать файл Y.

M = (0,1; 5,6; 0,8; 2,4; 7,3; 6,8; 0,5; 2,3;).
Ответ
0 (0 оценок)
0
vkusnyabrikos275 3 года назад
Светило науки - 2 ответа - 0 раз оказано помощи

Ответ:

Решение

Описание переменных:

M - массив-константа;

x, y - переменные, связанные с типизированными файлами;

n - считанное из файла очередное число;

i - счетчик.

Алгоритм решения задачи:

Создать константу-массив, присвоив ей заданные значения массива.

Связать файловые переменные с соответствующими файлами.

Открыть файл X на запись. Записать в него все элементы массива. Закрыть файл.

Открыть файл X на чтение, а файл Y на запись. Присвоить счетчику значение 1. Пока не будет достигнут конец файла X, считывать из него очередное число. Если при этом счетчик имеет четное значение, то записывать число в файл Y. После считывания и проверки на четность номера очередного числа, увеличивать счетчик на 1. После того как файл X будет прочитан, закрыть оба файла.

Открыть файл Y на чтение. Пока не будет достигнут его конец, считывать из него очередное число и выводить его на экран. После завершения цикла закрыть файл.

Программа на языке Паскаль:

const M: array[1..8] of real = (0.1, 5.6, 0.8, 2.4, 7.3, 6.8, 0.5, 2.3);

var

x,y : file of real;

n: real;

i: byte;

begin

assign(x,'x.dat');

assign(y,'y.dat');

rewrite(x);

for i:=1 to 8 do

write(x, M[i]);

close(x);

reset(x);

rewrite(y);

i := 1;

while not EOF(x) do begin

read(x, n);

if not odd(i) then

write(y, n);

i := i + 1;

end;

close(x);

close(y);

reset(y);

while not EOF(y) do begin

read(y, n);

write(n:5:1);

end;

writeln;

close(y);

end.

Результат выполнения программы:

5.6 2.4 6.8 2.3

Объяснение:

Хз :)

Остались вопросы?