|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
16.06.2010, 16:44 | #1 (permalink) |
Новичок
Регистрация: 16.06.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Программа для нахождения среднего геометрического.
Задача Pascal: Написать программу определения среднего геометрического положительных элементов вещественного массива длиной 20. Гарантируется, что хотя бы один положительный элемент имеется в массиве. |
16.06.2010, 16:44 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Топики, которые схожи с вашим Программа для ХР Апгрейд среднего компьютера Программа Метод Ньютона нахождения корня на Паскале |
16.06.2010, 16:57 | #2 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Код:
uses crt; const n=20 var a:array [1..n] of integer; i:integer; sr:real; begin randomize; for i:=1 to n do a[i]:=random(40)-20; sr:=0; for i:=1 to n do begin if a[i]>0 then sr:=sr+a[i]; end; sr:=sqrt(sr); writeln ('srednee geometricheskoe ravno',sr); readln end. Кто по опытнее поправьте если я не прав Последний раз редактировалось shrek=); 16.06.2010 в 17:18 |
16.06.2010, 17:16 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Поправляю. Во-первых, массив должен быть вещественным, а не целочисленным, а во-вторых, требуется найти среднее геометрическое n элементов, а оно отнюдь не есть квадратный корень из суммы, как у Вас, а корень n-ой степени из произведения этих элементов. Вот что получилось у меня:
Код:
Const N=20; VAR Nactual:BYTE; A:ARRAY[1..N] of REAL; Product:Extended; i:INTEGER; BEGIN RANDOMIZE; WriteLn('Initial array:'); For i:=1 to N do begin A[i]:=100.0*(RANDOM-0.5); Write(A[i]:7:2); end; WriteLn; Product:=1.0; Nactual:=0; For i:=1 to N do If A[i]>0 then begin INC(Nactual); Product:=Product*A[i]; end; Writeln('The geometric mean of positive components is ', Exp((1.0/Nactual)*Ln(Product)):6:3); ReadLn; END. |
16.06.2010, 17:26 | #4 (permalink) |
Новичок
Регистрация: 16.06.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо.
Хммм...Думаю мне остаётся надеяться что не заглядывает) |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|