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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread277760.html
Помогите решить задачу! Генератором сгенерировать массив на сто элементов чисел в диапазоне от 0 до 20. Каждый элемент - это количество выбоин на участке 100 метров дороги. Если до 10-и выбоин -...
C++ не могу разобраться с ветвлением есть задача:Вычислить y = x4+7x2+10/x, для x с шагом h = 0.01. решение: #include <iostream.h> #include <conio.h> int main() { // Программа печати таблицы функции double x=2,y; //Объявление... http://www.cyberforum.ru/cpp-beginners/thread277744.html
Интересно где же я запутал код C++
Собственно сижу щас химичу с двумерными массивами и решил сложить сумму каждой строки отдельно, самое интересное что получилось, но к сожалению складывается только 1ая строка, а дальше ( 2ая и 3яя...
Удалить слова, состоящие ровно из К символов C++
Ввести стоку, распечатать. Удалить слова, состоящие ровно из К символов.Результирующию строку распечатать. Помогите кто может!
C++ прграммка на C++ http://www.cyberforum.ru/cpp-beginners/thread277712.html
Здравствуйте! Не могли бы вы мне помочь? Нужно написать программу на C++ : Даны целые массивы A, B и значения R и F. Каждый массив пpеобpазовать по пpавилу: если отpицательных элементов в...
C++ График y=x^3 Помогите пожалуйста с написанием программы на С. Задание: построить график функции y=x^3. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
17.04.2011, 00:20
Нулевые элементы не учитываются
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;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru