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

Чегож у вас у всех такой длинный код? можно постебацо?))


Бахтияр Асанов
разрешаю))
с файлами как-нибудь сам. а код вот:
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
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) : Ошибка времени выполнения: Входная строка имела неверный формат.
Что не правильно?
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) : Ошибка времени выполнения: Входная строка имела неверный формат.
Что не правильно?
Похожие вопросы
- Какую функцию выполняют команды real и integer (var a,b,c:integer;) на Pascal ABC Net? И чем они отличаются?
- Помогите написать программу в Pascal abc net
- Посоветуйте книги по Паскалю Хочу изучить литературу по Паскалю. Посоветуйте именно по Pascal ABC.net.
- Как в Pascal ABC net можно переключать цвета у нарисованного круга? типо светофор
- Нужно создать программу в Pascal ABC.NET
- Дано натуральное число m.Переставьте местами первую и вторую цифры этого числа Pascal ABC.NET
- Подскажите пожалуйста, какая ошибка в программе на Pascal ABC.NET?
- При введении программы на Pascal ABC выдается ошибка "нельзя вводить данные типа "массив", массивы вводятся поэлементно
- Задача pascal abc fr. Одномерный массив
- Олимпиадная задача по программированию в Pascal (Free, ABC.net) 10 класс! Помогите решить?)
Стек:
at System.Linq.Enumerable.Average(IEnumerable`1 source)
at Program1.Program.$Main() in D:\Program1.pas:line 21
at Program1.Program.Main()
[]
Сумма элементов массива: 0
вот такая ошибка