Другие языки программирования и технологии

Задайте массив из файла в Pascal.ABC.net

Задайте массив из файла, в котором будут размещены однозначные цифры Вашей даты рождения. Например, Вы родились 5 ноября 1990 года, но массив будет выглядеть следующим образом: 0,5,1,1,1,9,9,0. Отсортируйте данный массив, посчитайте сумму его элементов и среднее арифметическое. Результат сохраните в файл.
БА
Бахтияр Асанов
90 702
Лучший ответ
Сабит Бекетов просто другой код
Вячеслав Гуськов Исходный массив: Ошибка времени выполнения: System.InvalidOperationException: Sequence contains no elements
Стек:
at System.Linq.Enumerable.Average(IEnumerable`1 source)
at Program1.Program.$Main() in D:\Program1.pas:line 21
at Program1.Program.Main()
[]
Сумма элементов массива: 0
вот такая ошибка
Чегож у вас у всех такой длинный код? можно постебацо?))
Дмитрий Мялин
Дмитрий Мялин
4 069
с файлами как-нибудь сам. а код вот:
var
f: array [0..8] of integer;
a, b, c, d, e, j, g, t, h, k: integer;
p: real;

begin
k := 0;
readln(a, b, c);
if (a < 10) then
begin
f[0] := 0;
f[1] := a;
end else if (a > 0) then
begin
d := a mod 10;
a := a div 10;
f[0] := a;
f[1] := d;
end;

if (b < 10) then
begin
f[2] := 0;
f[3] := b;
end else if (a > 0) then
begin
d := b mod 10;
b := b div 10;
f[2] := b;
f[3] := d;
end;

if (c < 10) then
begin
f[4] := 0;
f[5] := 0;
f[6] := 0;
f[7] := c
end else if (c < 100) then
begin
e := c mod 10;
j := e mod 10;
f[4] := 0;
f[5] := 0;
f[6] := j;
f[7] := e;
end else if (c < 1000) then
begin
e := c mod 10;
j := e mod 10;
g := j mod 10;
f[4] := 0;
f[5] := g;
f[6] := j;
f[7] := e;
end else
begin
e := c mod 10;
j := c mod 100;
j := j div 10;
g := c mod 1000;
g := g div 100;
t := c div 1000;
f[4] := t;
f[5] := g;
f[6] := j;
f[7] := e;
end;

for h := 0 to 7 do
begin
k := k + f[h];
end;
p := k / 8;
writeln(f[0], f[1], ' ', f[2], f[3], ' ', f[4], f[5], f[6], f[7], ' сумма = ', k, ' среднеее арифметичекое = ', p);
end.
Вячеслав Гуськов спасибо большое
Бахтияр Асанов что это такое?:))
Дмитрий Мялин Аплодирую стоя....
Но только если это был стёб...)
Решаю эту задачу: var aa:array[1..8] of integer;
s,sr:real;
i,j,k: integer;
input:text;
begin
assign(input,'input.txt');
reset(input);
for i:=1 to 8 do
read(input,aa[i]);
begin
for i:=1 to (8-1) do
for j:=1 to (8-i) do
if aa[j] > aa[j+1] then
begin
k:=aa[j];
aa[j]:=aa[j+1];
aa[j+1]:=k;
end;
begin
for i:=1 to 8 do
write(aa[i]/4);
close(input);
s:=s+aa[i];

writeln;
sr:=s/8;
writeln('s=',s);
writeln('sr=',sr);
end;
end;
end.
Файл в блокнот писал так: 22081975
и выкидывает такую фигню :
№1.pas(8) : Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла
№1.pas(12) : Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла
№1.pas(11) : Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла
№1.pas(20) : Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла
PABCSystem.pas(4807) : Ошибка времени выполнения: Входная строка имела неверный формат.
Что не правильно?
OP
Oleg Potapov
133