0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 5
1

В массиве N найти количество чередований знака

10.04.2016, 15:52. Показов 1906. Ответов 3

В массиве N (m) найти количество чередований знака, то есть количество переходов с минуса на плюс и наоборот. Например, в последовательности 0 - 2, 0 - 10, 2 - 1, 0, 0, 3, 2 - 3 четыре чередования (ноль знака не имеет)

Добавлено через 31 минуту
Пробовал. Не понимаю...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2016, 15:52
Ответы с готовыми решениями:

В массиве найти количество и координаты перемен знака
Задача на языке Си: Нужно в массиве найти колличество и координаты перемен знака. P.s уже...

Найти в массиве число чередований знака
В массиве Z(m) найти число чередований знака, то есть число переходов с минуса на плюс или с плюса...

Определить число чередований знака элементов в массиве
Задан массив из N вещественных элементов. Определить число чередований знака, т.е. число переходов...

В целочисленном массиве найти число чередований знака, то есть число переходов с минуса на плюс или с плюса на минус.
В целочисленном массиве найти число чередований знака, то есть число переходов с минуса на плюс или...

3
...
1804 / 1268 / 935
Регистрация: 12.02.2013
Сообщений: 2,063
10.04.2016, 17:11 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
 
int doCnt(const int arr[], int size) {
    int cnt = 0;
    const int* p = arr;
 
    for (; (0 < size) && (*arr == 0); --size, ++arr) { ; }
 
    for (p = arr; (0 < size); --size, ++p) {
        if (*p) {
            cnt += (*arr < 0) ^ (*p < 0);
            arr = p;
        }
    }
 
    return cnt;
}
 
int main() {
    int arr[] = {0, -2, 0, -10, 2, -1, 0, 0, 3, 2, -3};
 
    printf("cnt = %d\n", doCnt(arr, sizeof(arr) / sizeof(*arr)));
 
    return 0;
}
1
49 / 48 / 10
Регистрация: 24.01.2010
Сообщений: 225
10.04.2016, 17:13 3
Цитата Сообщение от Sanek11 Посмотреть сообщение
найти... четыре чередования
В Вашем вопросе - уже есть ответ.
В чём вопрос?
Если речь идёт об изображении этого в коде - так приведите тут пример Ваших размышлений и попыток. Где не получается, почему, Ваш анализ, наблюдения, мысли...

И как говорится - люди к Вам потянуться...

Либо если Вам чисто написать и забыть - то нафига Вам это надо то? Уходите от туда где от Вас это требуют - не ваше это... Лучше пускай на этом месте будет чел. который хотя-бы пытается что-то сотворить или понять(на самом деле именно это ценится и за это платят, а не за ваши знания. в нормальных конторах имеется ввиду)

удачи Вам
(круглый)
0
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 5
10.04.2016, 17:20  [ТС] 4
Спасибо огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2016, 17:20
Помогаю со студенческими работами здесь

Найти число чередований знака
В массиве Z(m) найти число чередований знака, то есть число переходов с минуса на плюс или с плюса...

В массиве Z (m) найти количество дежурств знака, то есть количество переходов с минуса на плюс и наоборот. Например, в последовательности 0, - 2, 0 -
В массиве Z (m) найти количество дежурств знака, то есть количество переходов с минуса на плюс и...

Найти количество перемен знака в массиве
Найти количество перемен знака в массиве из N чисел. Нулевые элементы заменить абсолютным значением...

Найти сумму элементов и их количество до первой перемены знака в массиве
В массиве найти сумму элементов и их количество до первой перемены знака. Буду благодарна за...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru