Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
#1

последовательность чисел сколько раз меняеться знак - C++

18.10.2010, 16:19. Просмотров 427. Ответов 6
Метки нет (Все метки)

есть к примеру массив чисел 10, -4, 12, 56, -5, -89 тут они меняю знак 3 раза, как описать в программе сколько раз любая последовательность чисел может менять знак?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2010, 16:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос последовательность чисел сколько раз меняеться знак (C++):

(CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак - C++
(СИ)Определить сколько раз последовательность из N произвольных чисел меняет знак

имеется последовательность чисел содержащая n элементов, определить сколько раз в ней меняется знак - C++
имеется последовательность чисел содержащая n элементов, определить сколько раз в ней меняется знак Добавлено через 17 минут на...

Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, сколько раз в этой последовательности меняется знак - C++
Помогите решить задачи через цикл do _ while: 4) Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, ...

Определить сколько раз меняется знак в последовательности чисел - C++
Нужна программа и блок-схема. Написать программу, определяющую сколько раз меняется знак в последовательности чисел, введенных с...

Написать программу, определяющую сколько раз меняется знак в последовательности чисел введенных с клавиатуры. - C++
Народ добрый, помогите пожалуйста. Пошел учиться на инженера-электрика, а нам информатик зверь какой-то попался. Заставляет писать проги на...

Определить, сколько раз меняется знак в последовательности чисел, введенных с клавиатуры, применив массив - C++
Помогите пожалуйста! Записать программу, определяющую сколько раз меняется знак в последовательности чисел, введенных с клавиатуры,...

6
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
18.10.2010, 16:24 #2
Вы имеете ввиду, чтобы было так:
+ - ++ -- +++ --- ++++ ---- .......?
0
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
18.10.2010, 16:29  [ТС] #3
допустим у нас есть массив, мы заполняем его произвольной последовательностью чисел с минусом и без, и нужно определить сколько раз понялся знак с минуса на плюс или на оборот
вот к примеру здесь 10, -4, 12, 56, -5, -89 знак менялся 3 раза.
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
18.10.2010, 16:37 #4
А. Ну каков вопрос, таков и ответ))) А что вам не ясно? Запоминать в одну переменную знак предыдущего числа, а в другую текущего, и сравнивать их. Если не равны - увеличивать счётчик.
1
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
18.10.2010, 16:40  [ТС] #5
Спасибо, всё оказываеться элементарно просто) лучшего ответа и не придумаешь)))
0
Zerkalka
37 / 36 / 2
Регистрация: 09.03.2010
Сообщений: 79
18.10.2010, 16:43 #6
немного другой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main() {
 
    int argc;
    cin >> argc;
    int mas[argc];
    int count = 0;
 
    for (int i=1; i<=argc; i++)
    {
        cin >> mas[i];
        if (i>1){
            if (((mas[i-1]<0)&&(mas[i]>0))||((mas[i-1]>0)&&(mas[i]<0)))
            { count++; }
        }
    }
    cout << count << endl;
    return 0;
}
исправляй под себя
1
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
18.10.2010, 17:13 #7
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//////////////////////////////////////////////////////////////////////////////////
//  есть к примеру массив чисел 10, -4, 12, 56, -5, -89 тут они меняю знак 3 раза, 
//как описать в программе сколько раз любая последовательность чисел может менять знак
//////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <numeric>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>  T_nums;
//////////////////////////////////////////////////////////////////////////////////
struct T_is_sign_changes
{
    int operator() (int a, int b)
    {
        return static_cast<int>(a * b == 0 ? a < 0 || b < 0 : a * b < 0);
    }
};
//////////////////////////////////////////////////////////////////////////////////
int  get_sign_changes_quantity(const T_nums&  nums)
{
    T_nums  sign_changes(nums.size());
    std::adjacent_difference(nums.begin(), nums.end(), sign_changes.begin(), 
                             T_is_sign_changes());
 
    return std::count(sign_changes.begin() + 1, sign_changes.end(), 1);
}
//////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));   
    std::cout << "Введите длину последовательности: ";
    int n;
    std::cin >> n;
    T_nums  nums(n);
    std::cout << "Введите "
              << n 
              << " положительных и отрицательных чисел: "
              << std::endl;
    for(int i = 0; i < n; ++i)
    {
        std::cout << "-> ";
        std::cin >> nums[i];
    }
    std::cout << "В этой последовательности знак меняется "
              << get_sign_changes_quantity(nums)
              << " раз."
              << std::endl;
}
0
18.10.2010, 17:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2010, 17:13
Привет! Вот еще темы с ответами:

Массив: Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которой происходит смена знака. - C++
Всем привет, помогите мне решить пара задач по c++ Учительница проверяет изучали ли мы этот метод решения задачи по этому прошу сделать...

Дана последовательность чисел. Сколько раз в ней встречается максимальное число? - C++
Given a sequence of numbers. Find out how many times the maximum element of the sequence meets in the sequence. Input data. First...

Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число - C++
#include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;stddef.h&gt; // ------------ size_t index_of_max(int* a,...

Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. - C++
помогите решить задачу для зачета,а то я совсем ничего не понимаю(((( Дана последовательность чисел. Выяснить , сколько раз в ней...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.