Форум программистов, компьютерный форум CyberForum.ru

Определить является ли последовательность знакочередующейся - C++

Восстановить пароль Регистрация
 
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
23.12.2009, 20:47     Определить является ли последовательность знакочередующейся #1
Помогите решить задачу:

Вводится последовательность из N вещественных чисел. Определить
является ли последовательность знакочередующейся.

Четно говоря, незнаю с чего и начать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2009, 20:47     Определить является ли последовательность знакочередующейся
Посмотрите здесь:

C++ Определить является ли последовательность почти периодической
[С++]Определить является ли последовательность знакочередующейся C++
C++ Определить является ли последовательность строго убывающей
Определить является ли последовательность арифметической прогрессией C++
Определить является ли последовательность строго убывающей C++
C++ Определить является ли последовательность строго убывающей

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
23.12.2009, 21:09     Определить является ли последовательность знакочередующейся #2
Oleg V,

Определить является ли последовательность знакочередующейся.

C++
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
#include <algorithm>
#include <functional>
#include <iostream>
#include <locale>
 
template <typename T>
struct X : public std::binary_function<T, T, bool>
{
    bool operator()(const T& v1, const T& v2) const
    { return v1 * v2 >= 0; }
};
 
template <typename It>
bool counter_sign(It begin, It end)
{
    typedef typename std::iterator_traits<It>::value_type value_type;
    return std::adjacent_find(begin, end, X<value_type>()) == end;
}
 
int main()
{
    setlocale(LC_ALL, "");
 
    int arr1[4] = {1,-2,3,-4};
    int arr2[4] = {1,-2,-3,4};
    
    std::cout << std::boolalpha << counter_sign(arr1, arr1+4) << std::endl;
    std::cout << std::boolalpha << counter_sign(arr2, arr2+4) << std::endl;
    
    return 0;
}
Проверка: http://codepad.org/BcgvxlJu
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.12.2009, 21:11     Определить является ли последовательность знакочередующейся #3
Может есть и более выгодное решение, но я оформил то, что пришло мне в голову с самого начала
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
#define n 6
int main()
{
  int i,j,q=0,A[n],B[n];
  for (i=0,j=0;i<n/2;i++,j++)
  {
    cout<<"Vvedite A: ";
    cin>>A[i];
    cout<<"Vvedite A: ";
    cin>>B[i];
      if (abs(A[i])==A[i] && abs(B[i])!=B[i] || abs(B[i])==B[i] && abs(A[i])!=A[i])
          q+=2;
  }
    if (q==n)
    cout<<"+";
    else
    cout<<"-";
}
Yandex
Объявления
23.12.2009, 21:11     Определить является ли последовательность знакочередующейся
Ответ Создать тему
Опции темы

Текущее время: 20:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru