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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2016, 19:06   #1
AndreyAGA
Новичок
Джуниор
 
Регистрация: 08.01.2016
Сообщений: 1
Вопрос С клавиатуры вводится натуральное число n, действительные числа а1, … ,an. В последовательности а1, …

С клавиатуры вводится натуральное число n, действительные числа а1, … ,an. В последовательности а1, … ,an определить число соседств
a) двух положительных чисел;
b) двух чисел разного знака;
c) двух чисел одного знака, причем модуль первого числа должен быть больше модуля второго числа.
AndreyAGA вне форума Ответить с цитированием
Старый 08.01.2016, 20:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

все эти подзадачи решаются банально перебором в цикле вида:
Код:
СчётчикСоседств := 0;
for i:=1 to n-1 do
  if ВыполняетсяУсловие между A[i] и A[i+1] then Увеличить СчётчикСоседств +1;

Вывести СчётчикСоседств
единственное, нужно решить (для себя), что должно быть, например,
для последовательности: 1 2 3 4 5
чему равно, например, соседство "двух положительных чисел" ? (мой пример кода выдаст ответ СчётчикСоседств = 4, это правильно?)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2016, 07:06   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
var p:array[1..6] of integer;
    i,k:integer;
begin
   For i:=1 to 6 do
   begin
      Write('p[',i,'] = ');
      Readln(p[i]);
   end;
   k:=0;
   For i:=1 to 5 do
      If (p[i]>0) and (p[i+1]>0) then
         k:=k+1;
   Writeln('a) k = ',k);
   k:=0;
   For i:=1 to 5 do
      If p[i]*p[i+1]<0 then
         k:=k+1;
   Writeln('b) k = ',k);
   k:=0;
   For i:=1 to 5 do
      If (p[i]*p[i+1]>0) and (Abs(p[i])>Abs(p[i+1])) then
         k:=k+1;
   Writeln('c) k = ',k);
   Readln;
end.
image001.gif
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано натуральное число n и действительные числа a1,…, an. Необходимо... anstsiya Общие вопросы C/C++ 9 02.07.2015 09:17
Даны натуральное число n, действительные числа a, h, b, d0,..., dn yzen Помощь студентам 1 18.11.2012 10:04
Даны натуральное число m, действительные числа а1,..,a30 Zhasik Помощь студентам 1 27.12.2010 18:36
Даны натуральное число n, действительные числа a1,...,an. Получить: Хутор Паскаль, Turbo Pascal, PascalABC.NET 3 17.12.2010 19:32
Даны действительные числа a, h, натуральное число n Масим Помощь студентам 0 24.03.2010 14:28