IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> ошибка в программе
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

Репутация: -  0  +


программа считает все когда имеет вид :
Код
Program mass;
uses crt;
const n=30;
    var
i,p,k,S,C:integer;
Sa,Sg:real;
A:array[1..n] of integer;
  BEGIN

writeln ('введите массив А через пробел');
for i:=1 to n do
read (A[i]);

p:=0; S:=0;
for i:=1 to n do
   if  A[i]<0 then  
   begin
S:=S_A[i];
p:=p+1;
Sa:=S/p;
    end;

k:=0; C:=1;
for i:=1 to n do
   if A[i]>0 then
   begin
  C:=C*A[i];
  k:=k+1;
end;
Sg:=exp(ln(C)/k);




for i:=1 to n do
if A[i]<=-5 then
A[i]:=abs(A[i]);
for i:=1 to n do
write (A[i]:3);
writeln;

writeln ('среднее арифметическое отрицательных элементов Sa=', Sa:4);
writeln ('среднее геометрическое положительных элементов Sg=',Sg:4);
repeat until keypressed

END.



преподаватель сказал что в куске
k:=0; C:=1;
for i:=1 to n do
if A[i]>0 then
begin
C:=C*A[i];
k:=k+1;
end;
Sg:=exp(ln©/k);
Sg надо перед эндом впихнуть. но так ничего не работает. может вы подскажите как записать чтобы все по правилам?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Sg надо перед эндом впихнуть.
Бред... Все правильно у тебя считается... Для подсчета среднего геометрического как раз и надо в цикле перемножить все элементы, и ПОСЛЕ цикла вычислить корень нужной степени...

А вот Sa напрасно внутри цикла изменяется ... По правилам его бы надо вынести:
for i:=1 to n do
if A[i]<0 then begin
S:=S+A[i];
p:=p+1;
end;
Sa:=S/p;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

Репутация: -  0  +


спасибо большое! очень признательна
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 18.12.2017 21:54
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"