Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.12.2013, 19:03   #1
Игорь_Алхимик
 
Аватар для Игорь_Алхимик
 
Регистрация: 12.12.2013
Сообщений: 7
По умолчанию Ерунду выдаёт...

Дан массив V(n). Разделить все его положительные элементы на среднее значение элементов массива. В изменённом массиве определить произведение положительных элементов и их порядковый номер...

Program massiv_1;
var i,n : integer; S,SR,P:real;
A, V:array [1..10
] of real;
begin write ('ввод размерности '); read (n);
write ('ввод элементов массива');
for i:=1 to n do read (A[i]);
S:=0;
if A[i] > 0 then S:=S+A[i];
SR:= S/n;
write (' SR=', SR:8:2);
i:=1;
if A[i]>0 then A[i]:= A[i]/SR;
A:=V;
writeln ('V[i]=', V[i]:8:2);
for i:=1 to n do read (V[i]);
P:=1;
i:=1; if V[i]>0 then P:=P*V[i];
write ('P=', P:8:2);
for i:=1 to n do
if V[i]=P then
writeln ('порядковый номер:', i);
end.

Программа работает, но такую хрень в ответе выдаёт.....)))Укажите на ошибку пожалуйста...

Последний раз редактировалось Игорь_Алхимик; 12.12.2013 в 19:07.
Игорь_Алхимик вне форума
Старый 12.12.2013, 19:32   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Не работает она.
1. Найти среднее арифметическое (?) значение. Или все-таки среднее?
Код:
Sr:=0;
For i:=1 to n do
  Sr:=sr+a[i];
Sr:=sr/n;
2. Разделить все его положительные элементы на среднее
Код:
For i:=1 to n do
  If a[i]>0 then
    A[i]:=a[i]/sr;

Последний раз редактировалось ZX Spectrum-128; 12.12.2013 в 19:36.
ZX Spectrum-128 вне форума
Старый 13.12.2013, 09:51   #3
Kemperh4
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 16
Радость

Код:
Program massiv_1;
 var i,n : integer; S,SR,P:real;
 A, V:array [1..10
 ] of real;
 begin write ('ввод размерности '); read (n);
 writeln ('ввод элементов массива'); 
 S:=0;
 
 for i:=1 to n do begin read (A[i]);
 S:=S+A[i];
 end;
 
 writeln ('Исходный массив:');
 
 for i:=1 to n do
 writeln ('A[',i,']=', A[i]:8:2);
 
 SR:= S/n;
 write ('Среднее значение: ', SR:8:2);

 for i:=1 to n do
 if A[i]>0 then A[i]:= A[i]/SR;
 V:=A; writeln;
 
 writeln ('Измененный массив:');
 
 for i:=1 to n do
 writeln ('V[',i,']=', V[i]:8:2);
 
 P:=1;
 for i:=1 to n do 
 if V[i]>0 then P:=P*V[i];
 
 writeln ('Произведение положительных элементов: ', P:8:2);
 
  writeln ('порядковые номера положительных элементов:');
 for i:=1 to n do begin
 if V[i]>0 then
 write (i,' ');
 end;
 end.
PS: Разделяй всегда пустыми строками код, если он разделен логически, это поможет не запутаться. Не забывай про "begin end;" если в цикле или условии (for, while, if и т.п. ) нужно выполнить более одной команды. Дели задачи на подзадачи, выполнил первый этап - вывел результат - все ок, можно дальше, если есть ошибки то в небольшом коде их искать проще.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.12.2013 в 10:41.
Kemperh4 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить длину строки, ерунду пишет Музыкант Visual C++ 7 12.11.2012 19:06
Выдаёт NAN DM_bite Помощь студентам 2 26.08.2008 20:52
Выдаёт ошибку DM_bite Помощь студентам 2 08.08.2008 10:33
Подскажите как реализовать эту ерунду.. Origammi JavaScript, Ajax 2 17.08.2007 23:49