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

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

Войти
Регистрация
Восстановить пароль
 
markeloff1337
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 7
#1

Работа с последовательностью - C++

23.06.2014, 19:37. Просмотров 586. Ответов 10
Метки нет (Все метки)

Доброго времени суток. Помогите пожалуйста ребят в задачке. Не могу понять как делать

В зависимости от того, образуют элементы заданного массива целых чисел из n элементов строго бывающую, не возрастающую, строго возрастающую, неубывающую последовательность, выдать соответствующее сообщение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с последовательностью (C++):

Работа с последовательностью целых чисел - C++
Вводится последовательность целых чисел (0 – конец последовательности), найти разность между наименьшим среди положительных и наибольшим...

Последовательностью Фарея - C++
Задача по программированию. Последовательностью Фарея порядка N называется возрастающая последовательность несократимых положительных...

Не выводит строки с возрастающей последовательностью - C++
Задана матрица A(n,n). Зеркально отразить ее относительно главной диагонали. В преобразованной матрице найти строки, элементы которой...

Определить, является ли массив убывающей последовательностью - C++
Дан одномерный числовой массив. Определить, является ли массив убывающей последовательностью.

определить,является ли матрица последовательностью вида - C++
обращаюсь за помощью так как уже просто не успеваю завтра последний срок для сдачи 8 прог,сделано 2 итого имеем : Для заданной...

С++ в чем ошибка (действия с последовательностью по условию) - C++
в прошлый раз я не правильно объяснил свою проблему. задача такова: Даны действительные числа а1, ..., а5. Оставить без изменения...

10
zss
Модератор
Эксперт С++
6530 / 6092 / 2007
Регистрация: 18.12.2011
Сообщений: 15,841
Завершенные тесты: 1
23.06.2014, 19:49 #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
33
34
const int N=20;
double mass[N];
// заполнить массив
bool Vozr=true,Ubyv=true,StrictVozr=true,StrictUbyv=true;
for(int i=1;i<N;i++)
{
      if(mass[i-1]<mass[i])
      {
        Ubyv=false;
        StrictUbyv=false;
      }
      if(mass[i-1]==mass[i])
      {
        StrictVozr=false;
        StrictUbyv=false;
      }
      if(mass[i-1]>mass[i])
      {
        Vozr=false;
        StrictVozr=false;
      }
}
if(StrictVozr)
   cout<<"Строго Возрастающая";
else if(Vozr)
   cout<<"Возрастающая";
else
   cout<<"Невозрастающая";
if(StrictUbyv)
   cout<<"Строго Убывающая";
else if(Ubyv)
   cout<<"Убывающая";
else
   cout<<"Неубывающая";
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,188
23.06.2014, 19:52 #3
zss,
какой ответ будет у последовательности 1 1 1 1 1 1 1?
0
Хедин
74 / 69 / 36
Регистрация: 17.05.2014
Сообщений: 301
23.06.2014, 19:56 #4
markeloff1337,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void check(int *a, int n)
{
    bool less = true, nobig = true, big = true, noless = true;
    for (int i = 1; i < n; i++)
    {
        if (less && a[i] >= a[i-1]) less = false;
        if (nobig && a[i] > a[i-1]) nobig = false;
        if (big && a[i] <= a[i-1]) big = false;
        if (noless && a[i] < a[i-1]) noless = false;
        if (!less && !nobig && !big && !noless) { cout << "Вообще хрень, а не последовательность" << endl; break; }
    }
    if (less) cout << "Убывающая" << endl;
    if (nobig) cout << "Невозрастающая" << endl;
    if (big) cout << "Возрастающая" << endl;
    if (noless) cout << "Неубывающая" << endl;
}
0
zss
Модератор
Эксперт С++
6530 / 6092 / 2007
Регистрация: 18.12.2011
Сообщений: 15,841
Завершенные тесты: 1
23.06.2014, 20:02 #5
Цитата Сообщение от ValeryS Посмотреть сообщение
какой ответ будет у последовательности 1 1 1 1 1 1 1?
А какой Вы считаете должен быть?
0
Хедин
74 / 69 / 36
Регистрация: 17.05.2014
Сообщений: 301
23.06.2014, 20:04 #6
zss, ради интереса я проверил, получилось: Убывающая Возрастающая. А должно неубывающая и невозрастающая
1
zss
Модератор
Эксперт С++
6530 / 6092 / 2007
Регистрация: 18.12.2011
Сообщений: 15,841
Завершенные тесты: 1
23.06.2014, 20:14 #7
Цитата Сообщение от Хедин Посмотреть сообщение
получилось: Убывающая Возрастающая
Думаю, всем легко догадаться, как устранить этот нюанс.
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,188
23.06.2014, 20:21 #8
Цитата Сообщение от zss Посмотреть сообщение
А какой Вы считаете должен быть?
ну уж никак не "возрастающая"
смотрим
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
if(mass[i-1]==mass[i])
      {
        StrictVozr=false;
        StrictUbyv=false;
      }
в цикле отработает только эта ветка
следовательно Vozr и Ubyv останутся true,
потом отработает эта ветка [quote="zss;6355366"[CPP]else if(Vozr)
cout<<"Возрастающая";[/CPP][/quote]
и все

[size="1"]Добавлено через 1 минуту[/size]
Цитата Сообщение от Хедин Посмотреть сообщение
получилось: Убывающая Возрастающая.
до убывающей дело не должно дойти
else не дадут
0
Хедин
74 / 69 / 36
Регистрация: 17.05.2014
Сообщений: 301
23.06.2014, 20:28 #9
ValeryS, не должно, но...
Да и посмотрел я код подробнее, как раз там 2 пачки условий, каждое доходит до второго if, так что выводится 2 сообщения, так что все в порядке
1
Миниатюры
Работа с последовательностью  
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,188
23.06.2014, 20:45 #10
Цитата Сообщение от Хедин Посмотреть сообщение
как раз там 2 пачки условий,
пардон, не доглядел
0
Хедин
23.06.2014, 20:57     Работа с последовательностью
  #11

Не по теме:

ValeryS, да всякое бывает

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2014, 20:57
Привет! Вот еще темы с ответами:

Вставить тире между последовательностью чисел - C++
Написал программу которая вставляет тире между последовательностью чисел, все вроде бы хорошо, работает, но нашел баг, ввожу числа типа...

Заменить одну последовательность другой последовательностью - C++
Выполнить следующие модификации строки букв. Напечатать начальную строку. Напечатать букву, которая должна быть удалена из строки (она...

Заполнить диагонали матрицы возрастающей последовательностью - C++
Помогите с заданием, нужно заполнить матрицу 9х9 линейной последовательностью (1,2,3...) начиная с верхнего угла главной диагонали и до...

Сложить цифры в сумму, и разложить ее с той же последовательностью - C++
Есть цифры: Возможно ли их сложить в одну сумму и разложить с такой же последовательностью ?


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

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

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