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

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

Восстановить пароль Регистрация
 
ObiVan774
1 / 1 / 0
Регистрация: 25.10.2010
Сообщений: 5
25.10.2010, 20:30     Определить, является ли последовательность знакочередующейся #1
Условие Задачи: "Вводится последовательность из N вещественных чисел. Определить
является ли последовательность знакочередующейся." Как должно выглядить и как прописать не пойму!!! Please помоги чем Могите!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 20:30     Определить, является ли последовательность знакочередующейся
Посмотрите здесь:

C++ Определить является ли последовательность почти периодической
C++ Определить является ли последовательность знакочередующейся
C++ Определить является ли последовательность строго убывающей
Определить является ли последовательность арифметической прогрессией C++
Определить является ли последовательность строго убывающей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
arch-vile
 Аватар для arch-vile
3151 / 766 / 23
Регистрация: 12.07.2009
Сообщений: 3,184
25.10.2010, 20:31     Определить, является ли последовательность знакочередующейся #2
ObiVan774, последовательность:
2 3 4 6 7 6 7 8 9 ....
Знакочередующаяся последовательность:
2 -3 4 -6 7 -6 7 -8 9 ....
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.10.2010, 01:31     Определить, является ли последовательность знакочередующейся #3
ObiVan774, если считать, что нулевые значения точно не попадутся, то вот
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
#include <iostream>
 
bool test(int * arr, size_t size){
    int sign;
    if ( ! arr || ! size )
        return false;
    
    sign = ( *arr < 0 ) ? -1 : 1;
    while ( --size ){
        if ( *++arr * sign > 0 )
            return false;
        sign *= -1;
    }
    return true;
}
 
int main(){
    const int size(5);
    int arr[size];
    
    for ( int i = 0; i < size; ++i ){
        std::cout << "Array[" << i << "] = ";
        std::cin >> arr[i];
    }
    
    std::cout << ( test(arr, size) ? "Oh yeah!" : "Shit no!" ) << std::endl;
    
    return 0;
}
в противном случае программа должна проверять каждое введённое число и выдавать ошибку, если оно - ноль...
ObiVan774
1 / 1 / 0
Регистрация: 25.10.2010
Сообщений: 5
26.10.2010, 20:47  [ТС]     Определить, является ли последовательность знакочередующейся #4
Спасиб! Просто препод потребовала, чтоб Массива не было!(((
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.10.2010, 22:18     Определить, является ли последовательность знакочередующейся #5
Цитата Сообщение от ObiVan774 Посмотреть сообщение
Просто препод потребовала, чтоб Массива не было!
И в чём проблема? У тебя готовый алгоритм есть, ну переделай чуть-чуть...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main(void){
    int val, sign, state;
    
    printf("Enter some numbers (0 - finish):\n> ");
    if ( scanf("%d", &val) != 1 || ! val )
        return 1;
    sign = ( val < 0 ) ? -1 : 1;
    state = 1;
    while ( printf("> ") && scanf("%d", &val) == 1 && val ){
        if ( val * sign > 0 )
            state = 0;
        sign *= -1;
    }
    
    printf("Sequence is %s\n", ( state ) ? "good" : "bad");
    
    return 0;
}
Yandex
Объявления
26.10.2010, 22:18     Определить, является ли последовательность знакочередующейся
Ответ Создать тему
Опции темы

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