Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
тимохаат
0 / 0 / 0
Регистрация: 16.10.2014
Сообщений: 11
1

Если элементы набора возрастают, то вывести 1. Если элементы набора убывают, то вывести (-1)

27.10.2014, 18:29. Просмотров 828. Ответов 1
Метки нет (Все метки)

Дано целое число K, а также K набор ненулевых целых чисел. Каждый набор содержит не менее двух элементов, признаком его завершения является число 0. Для каждого набора выполнить следующее действие: если элементы набора возрастают, то вывести 1.Если элементы набора убывают, то вывести -1.Если элементы набора не возрастают и не убывают, то вывести 0.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2014, 18:29
Ответы с готовыми решениями:

Вывести элементы набора вместе с числом B, сохраняя упорядоченность выводимых чисел
Ребят, помогите пожалуйста! Задали задачку попробовать решить в AVR Studio. ...

Найти количество наборов, элементы которых возрастают или убывают
"Дано целое число K, а также K наборов ненулевых целых чисел. Каждый набор...

Если в массиве есть два рядом стоящих чётных элемента, то вывести на экран все элементы стоящие перед ними
Динамическая память. Одномерный массив. Если в массиве есть два рядом стоящих...

Если в массиве есть два рядом стоящих чётных элемента, то вывести на экран все элементы массива стоящие перед ними
Динамическая память. Одномерный массив. Если в массиве есть два рядом стоящих...

Выяснить, имеются ли в матрице ненулевые элементы и, если имеются, вывести их индексы
Здравствуйте. Задача следующая - дается матрица n x n (n=1...15). Необходимо...

1
schdub
Эксперт С++
3039 / 1381 / 421
Регистрация: 19.01.2009
Сообщений: 3,717
Завершенные тесты: 1
27.10.2014, 21:05 2
Лучший ответ Сообщение было отмечено schdub как решение

Решение

тимохаат,
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 () {
    int a[] = {
        1, 2, 3, 0,    // 1
        9, 2, 2, 2, 0, // 0
        4, 3, 2, 1, 0  // -1
    };
    int K = 3, i, d, *p = a;
    for (i = 0; i < K; ++i, ++p) {
        d = ((*p < p[1]) ? 1 : ((*p > p[1]) ? -1  : 0 ));
        for (++p; *p && d; ++p) {
            if (!((p[-1] < *p && d ==  1) ||
                  (p[-1] > *p && d == -1))) d = 0;
        }
        for (; *p; ++p);
        printf("%d ", d);
    }
    printf("\n");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2014, 21:05

Если переменная x после цикла получает значение 3 и если ее вывести заданным образом
Если переменная x после цикла получает значение 3 и если ее вывести следующим...

Дана строка. Если она представляет собой запись целого числа, то вывести 1; если вещественного - 2
Дана строка. Если она представляет собой запись целого числа, то вывести 1;...

Если в массиве есть элементы, большие числа n, то напечатать все элементы, следующие за первым
Дан массив, упорядоченный по возрастанию. Если в нем есть элементы, большие...


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

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

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