Pascal ABC.Задайте массив из файла, в котором будут размещены однозначные цифры Вашей...

0 голосов
78 просмотров

Pascal ABC.Задайте массив из файла, в котором будут размещены однозначные цифры Вашей даты рождения. Например, Вы родились 5 ноября 1990 года, но массив будет
выглядеть следующим образом: 0,5,1,1,1,9,9,0. Отсортируйте данный массив, посчитайте сумму его элементов и среднее арифметическое. Результат сохраните в файл.


Информатика (135 баллов) | 78 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Создаёшь в папке с программой два текстовых файла с именами "1.txt." и "output.txt". В первый записываешь 8 чисел без пробелов и запятых ("22031991", например).


type  matrix = array [1..8] of integer;var  F, output: text;  i, n, cc, sum: integer;  c: char;  x: matrix;  ma: real;
procedure convert (var c: char; var cc: integer);begin  if c='1' then cc:=1;  if c='2' then cc:=2;  if c='3' then cc:=3;  if c='4' then cc:=4;  if c='5' then cc:=5;  if c='6' then cc:=6;  if c='7' then cc:=7;  if c='8' then cc:=8;  if c='9' then cc:=9;  if c='0' then cc:=0;end;
procedure sorting (n: integer; x: matrix);begin  for n:=1 to 7 do begin    if x[n]>x[n+1] then swap(x[n],x[n+1]);  end;end;
begin  Assign(F, '1.txt');  Reset(F);  for i:=1 to 8 do begin    read(F, c);    convert(c,cc);    x[i]:=cc;  end;  Close(F);
  sorting(n,x);  sum:=x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8];  ma:=sum/8;    Assign(output, 'output.txt');  rewrite(output);  writeln(output, sum); writeln(output, ma);  Close(output);end.

(270 баллов)
0

Пардон, сайт украл у меня спуски строк) Но программа всё равно работает.

0

Спасибо!

0

У меня пишет ошибка времени выполнения,файл не найден,а я файлы создала.Помогите,пожалуйста!