Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 44
1

задача1090

24.11.2013, 22:33. Показов 932. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать одномерный массив из 50 вещественных чисел в интервале от -5 до 15
Найти среднее значение положительных и среднее значение отрицательных элементов массива
Найти индекс элемента,значение которого наиболее близко к сумме средних.

Добавлено через 11 часов 6 минут
Цитата Сообщение от александр_танк Посмотреть сообщение
Создать одномерный массив из 50 вещественных чисел в интервале от -5 до 15
Найти среднее значение положительных и среднее значение отрицательных элементов массива
Найти индекс элемента,значение которого наиболее близко к сумме средних.
ну хоть ктонибудь а вообще не могу(
0
Лучшие ответы (1)
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.11.2013, 09:35 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
uses crt;
const n=50;
var a:array[1..n] of real;
    i,j,kp,ko:byte;
    sp,so,mn:real;
begin
randomize;
kp:=0;
ko:=0;
sp:=0;
so:=0;
for i:=1 to n do
 begin
  a[i]:=-5+20*random;
  write(a[i]:5:1);
  if a[i]>0 then
   begin
    kp:=kp+1;
    sp:=sp+a[i]
   end
  else if a[i]<0 then
   begin
    ko:=ko+1;
    so:=so+a[i]
   end;
 end;
writeln;
if kp=0 then writeln('Положительных нет')
else
 begin
  sp:=sp/kp;
  writeln('Среднее положительных=',sp:0:2)
 end;
if ko=0 then writeln('Отрицательных нет')
else
 begin
  so:=so/ko;
  writeln('Среднее отрицательных=',so:0:2)
 end;
if(kp>0)and(ko>0) then
 begin
  writeln('Сумма средних=',sp+so:0:2);
  j:=1;
  mn:=abs(a[1]-(sp+so));
  for i:=2 to n do
  if abs(a[i]-(sp+so))<mn then
   begin
    mn:=abs(a[i]-(sp+so));
    j:=i
   end;
  write('Наиболее близкий к сумме средних элемент a[',j,']=',a[j]:0:1)
 end
end.
1
25.11.2013, 09:35
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru