Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kronos2411
0 / 0 / 0
Регистрация: 23.06.2018
Сообщений: 9
1

Найти среднее геометрическое всех положительных чисел файла

08.07.2019, 17:42. Просмотров 838. Ответов 2
Метки нет (Все метки)

Файл содержит действительные числа. Найти среднее геометрическое всех положительных чисел файла. Вот, что я написал:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses crt;
var gem,k,code,i:integer;
var f:text;
var x:char;
var a:array [1..99999] of char;
var b:array [1..99999] of integer;
var char:char;
begin
gem:=1;
k:=0;
char:='a';
assign(f,'1.txt');
reset(f);
i:=1;
while not eof(f) do
 begin
  read(f,x);
  a[i]:=x;
  if a[i-1] in ['-'] then a[i]:=char;
  if a[i] in ['1','2','3','4','5','6','7','8','9'] then val(a[i],b[i],code);
  if b[i]>0 then
   begin
   writeln(b[i]);
    gem:=gem*b[i];
    inc(k);
    inc(i);
   end;
 end;
close(f);
if k<>0 then
 writeln(power(gem,(-1)*k))
else
 writeln('Нет положительных.');
 end.
Но у меня выдаёт ошибку 'Unhandled Exception: System.IndexOutOfRangeException: Индекс находился вне границ массива.
в Program12-1-10.Program.$Main() в C:\Users\kronos\Desktop\Program12-1-10.pas:строка 19
в Program12-1-10.Program.Main()Программа завершена, нажмите любую клавишу . . .' если программа встречает '-'.Помогите пожалуйста
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2019, 17:42
Ответы с готовыми решениями:

Найти среднее геометрическое всех положительных чисел файла.
Файл содержит действительные числа. Найти среднее геометрическое всех положительных чисел файла.

Найти среднее арифметическое число всех целых положительных чисел меньших 47
1)Найти среднее арифметическое число всех целых положительных чисел меньших 47. 2)Складіть...

Найти среднее арифметическое положительных чисел файла
Задание: Создать типизированный файл, содержащий 20 целых чисел. Найти среднее арифметическое...

Из файла переписать в файл те числа, которые больше чем среднее геометрическое значение всех модулей элементов входного файла
Из файла F,где находятся целые числа переписать в файл G,те которые больше чем среднее...

Найти среднее арифметическое этих чисел и среднее геометрическое их модулей
Даны два действительных числа. Найти среднее арифметическое этих чисел и среднее геометрическое их...

2
JuriiMW
2403 / 1334 / 1725
Регистрация: 10.12.2014
Сообщений: 5,245
08.07.2019, 17:56 2
Лучший ответ Сообщение было отмечено kronos2411 как решение

Решение

Файл текстовый, который содержит только числа, следовательно можно тупо:
Pascal
1
2
3
4
begin
  var a := ReadAllText('1.txt').ToReals;
  a.Println;
end.
Теперь нам нужно оставить только положительные:
Pascal
1
2
3
4
5
6
7
begin
  var a := ReadAllText('1.txt').ToReals.Where(v->v>0);
  if a.Any then
    a.Println
  else
    WriteLn('Нет положительных.');
end.
Ну и среднее геометрическое:
Pascal
1
2
3
4
5
6
7
begin
  var a := ReadAllText('1.txt').ToReals.Where(v->v>0);
  if a.Any then
    (a.Product**(1/a.Count)).Println
  else
    WriteLn('Нет положительных.');
end.
P.S. Действительные числа — это не только целые… Если что?
1
kronos2411
0 / 0 / 0
Регистрация: 23.06.2018
Сообщений: 9
08.07.2019, 18:37  [ТС] 3
Спасибо, работает
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2019, 18:37

Найти среднее арифметическое положительных чисел типизированного целочисленного файла
Создать типизированный файл, куда записать n целых чисел. Найти среднее арифметическое среди...

Если последовательность не упорядочена, найти среднее геометрическое ее положительных членов
Если данная последовательность не упорядочена ни по неубыванию, ни по невозрастанию, найти среднее...

Элементы матрицы считываются с файла. Найти среднее арифметическое положительных чисел
Здрасте народ! ))) Помогите с задачей пожалуйсто. Я тему масивов пропустил и очень плохо знаю. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru