| 
| 
 | Вопрос # 3 689/ вопрос открыт / | 
 |  добрый вечер, уважаемые эксперты! не могли бы вы мне помочь сделать 3 задачи по массивам: 1. N=15 определить количество элементов, значение которых больше суммы соседних элементов (предыдущего и последующего).
 2. определить количество простых чисел в массиве.
 3. найти элемент, наиболее близкий к среднему значению всех элементов массива.
 
|  |   Вопрос задал: tolik384 (статус: Посетитель)Вопрос отправлен: 26 января 2010, 21:02
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Паровоз Здравствуйте, tolik384!1)
 
 var
  a:array[1..15] of real;
  i,count:integer;
begin
  count:=0;
  for i:=2 to 14 do
    if a[i]>a[i-1}+a[i+1] then count:=count+1;
end;count - искомое число
|  | Ответ отправил: Паровоз (статус: 10-ый класс)Время отправки: 26 января 2010, 23:23
 
 |  
 Мини-форум вопросаВсего сообщений: 5; последнее сообщение — 27 января 2010, 09:40; участников в обсуждении: 3. 26 января 2010, 22:05: Вопрос перемещён из тематического раздела Pascal » Программирование на Pascal в раздел Лабораторный практикум » Pascal модератором Ерёмин А.А. 
|   | Паровоз (статус: 10-ый класс), 26 января 2010, 23:36 [#1]:2) Пишем функцию,проверяющую простоту числа n: 
 function IsSimple(n:byte):boolean;
var
  i:byte;
begin
  Result:=True;
  for i:=2 to n-1 do
    if (n mod i)=0 then Result:=False;
end;и решение задачи
 var
  a:array[1..15] of real;
  i,count:integer;
begin
  count:=0;
  for i:=1 to 15 do
    if IsSimple(a[i]) then count:=count+1;
end;count - число простых чисел в массиве |  
|   | Паровоз (статус: 10-ый класс), 26 января 2010, 23:44 [#2]:3) Вычисляем среднее значение s: 
 beign
  s:=a[1];
  for i:=2 to 15 do s:=s+a[i];
  s:=s/15;
end;Находим нужный номер no (возможно, не единственный): 
 begin
  no:=1;
  d:=abs(a[1]-s);
  for i:=2 to 15 do
  begin
    if abs(a[i]-s)<d then
    begin
      no:=i;
      d:=abs(a[i]-s);
    end;
  end;
end; |  
|   | Мережников Андрей (статус: Абитуриент), 27 января 2010, 05:31 [#3]:to Паровоз - переделайте свою функцию по проверке простоты числа!!! Цикл не надо делать до n-1 - вполне достаточно до (n div 2) |  
|   | Егор (статус: 10-ый класс), 27 января 2010, 09:07 [#4]:не, до n div 2 тоже много. хватит до sqrt(n) Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Паровоз (статус: 10-ый класс), 27 января 2010, 09:40 [#5]:"переделайте свою функцию по проверке простоты числа" 
 Это работа для автора вопроса.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |