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

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

Войти
Регистрация
Восстановить пароль
 
INZA
 Аватар для INZA
61 / 57 / 1
Регистрация: 18.11.2010
Сообщений: 499
#1

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

16.04.2011, 23:41. Просмотров 700. Ответов 4
Метки нет (Все метки)

(СИ)Определить сколько раз последовательность из N произвольных чисел меняет знак
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 23:41     (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак
Посмотрите здесь:

C++ последовательность чисел сколько раз меняеться знак
Определить сколько раз меняется знак в последовательности C++
C++ имеется последовательность чисел содержащая n элементов, определить сколько раз в ней меняется знак
Определить сколько раз массив меняет знак на противоположный C++
Определить сколько раз массив меняет знак C++
C++ Определить, сколько раз в последовательности меняется знак.
C++ Массив: Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которой происходит смена знака.
Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, сколько раз в этой последовательности меняется знак C++
Дан массив ненулевых целых чисел. Определить, сколько раз элементы массива при просмотре от его начала меняют знак. Например, в массиве 10, -4, 12, -4 C++
C++ Определить, сколько раз меняется знак в последовательности чисел, введенных с клавиатуры, применив массив
Определить сколько раз меняется знак в последовательности чисел C++
Определить, сколько раз в последовательности меняется знак C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
17.04.2011, 00:20     (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак #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
26
27
28
29
30
31
32
#include <stdio.h>
 
int sign_changes_count(int * arr, size_t size){
    int sign, cnt;
    
    sign = ( *arr++ < 0 ) ? -1 : 1;
    for ( cnt = 0; --size; ++arr )
        if ( *arr * sign < 0 && ++cnt )
            sign *= -1;
    
    return cnt;
}
 
void dump(int * arr, size_t size){
    while ( size-- )
        printf("%d ", *arr++);
    printf("\n");
}
 
int main(void){
    int a[] = { 1, -1, -2, 2 };
    int b[] = { 1, 0, -1, 0, -1, 1 };
    
    printf("a: ");
    dump(a, sizeof(a) / sizeof(*a));
    printf("%d sign changes.\n", sign_changes_count(a, sizeof(a) / sizeof(*a)));
    printf("b: ");
    dump(b, sizeof(b) / sizeof(*b));
    printf("%d sign changes.\n", sign_changes_count(b, sizeof(b) / sizeof(*b)));
    
    return 0;
}
popov654
 Аватар для popov654
32 / 32 / 2
Регистрация: 09.04.2011
Сообщений: 114
17.04.2011, 00:54     (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак #3
Masredis
Котэ
 Аватар для Masredis
80 / 80 / 1
Регистрация: 04.09.2010
Сообщений: 546
17.04.2011, 02:56     (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак #4
int a[] = { 1, -1, 2, 2 };
ответ всё равно остаётся неизменным ) Ответ : " изменяется 2 знака "

int a[] = { 1, -1, -2, -2 }; Ответ : "1 знак "

может я что то не то сделал ?)
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
17.04.2011, 12:50     (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак #5
Цитата Сообщение от Masredis Посмотреть сообщение
int a[] = { 1, -1, -2, -2 }; Ответ : "1 знак "
может я что то не то сделал ?
Может задание невнимательно прочитали? Знак в последовательности меняется 1 раз. Что удивляет?
Yandex
Объявления
17.04.2011, 12:50     (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак
Ответ Создать тему
Опции темы

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