Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
1

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

16.12.2014, 16:08. Просмотров 2254. Ответов 17
Метки нет (Все метки)


Помогите с прогой.
Надо в одномерном массиве найти наименьшее число элементов,которые надо удалить,чтобы осталась возрастающая последовательность.

Есть вот это,но работает неправильно,подскажите как правильно,заранее спасибо.

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
// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int main()
{
 
        const int n = 9;
int i, k;
int a[n];
cout << "Vvedite elementu massiva:\n";
for (i = 0; i < n; i++)
{
cout << "a[" << i << "]=";
cin >> a[i];
}
 
cout << "Elementy na udalenie: ";
for (i = 0, k = 0; i < n-1; i++)
if (a[i]>=a[i + 1])
{
cout << a[i+1];
k++;
i++;
}
cout << endl;
cout << "Chislo elementov: " << k << endl;
 
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2014, 16:08
Ответы с готовыми решениями:

Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей
Дана последовательность действительных чисел a1 &lt;= a2&lt;= ... &lt;=an вставить действительное число b...

Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей.
дана последовательность действительных чисел. вставить в нее действительное число b так, чтобы...

Вставить в последовательность действительное число так, чтобы она осталась неубывающей
Дана последовательность действительных чисел а1&lt;=а2...&lt;= аn Вставить в нее действительное число b...

Создать последовательность действительность чисел идущих по возрастанию,вставить число,чтобы она осталась возрастающей
Разработать программу, которая вставляет введенное число в заданную неубывающую последовательность...

17
Заблокирован
16.12.2014, 16:14 2
у меня есть исходник в компе, если надо, пиши в личку, туда скину
1
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 17:56  [ТС] 3
tyreu, будь добр,скинь в личку пожалуйста

Добавлено через 1 час 3 минуты
Немного исправил,получился вот такой код,но последовательность рассматривается только с первого числа.Как сделать чтоб последовательность рассматривалась не только с первого числа?

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
#include <iostream>
using namespace std;
 
 
int main()
{
 
        const int n = 9;
int i, k,m;
int a[n];
cout << "Vvedite elementu massiva:\n";
for (i = 0; i < n; i++)
{
cout << "a[" << i << "]=";
cin >> a[i];
}
m=a[0];
for (i = 1,k=0; i < n; i++)
{
    if(m>=a[i])
    {
        cout<<i<<"";
        k++;
    }
    if(a[i]>m)
    {
        m=a[i];
    }
}
cout << endl;
cout << "Chislo elementov: " << k << endl;
 
return 0;
}
Добавлено через 28 минут
Заранее спасибо.
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
16.12.2014, 18:15 4
У вас личка не доступна - надо 5 сообщений
0
Заблокирован
16.12.2014, 18:16 5
kasper86, точно, забыл совсем.
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 18:16  [ТС] 6
знаю,спасибо
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
16.12.2014, 18:17 7
А последовательность монотонная или внутри тоже могут быть числа?
0
Заблокирован
16.12.2014, 18:17 8
Я сейчас не дома. Буду дома, скину
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 18:18  [ТС] 9
kasper86,могут быть и внутри

Добавлено через 21 секунду
tyreu, хорошо,спасибо
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
16.12.2014, 18:22 10
tyreu, Уже доступна
0
Заблокирован
16.12.2014, 19:15 11
проверил ваш код. всё работает верно. А чтобы рассматривался не только с первого числа надо в строке с организацией цикла в инициализации указать нужный индекс элемента. Т.е.
C++
1
for (i = 1; i < n; i++)
Здесь вместо i=1 укажите например
C++
1
for (i = 5; i < n; i++)
и тогда будет с 6 элемента смотреть.
Понятно?
1
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
16.12.2014, 19:33 12
tyreu, Тут не так. Нужно, чтобы он сам определил первый элемент. Например, есть последовательность 5 2 4 1 3 5 6 1 7 9 2 4 - надо получить 1 3 5 6 7 9
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 19:59  [ТС] 13
tyreu, это то понятно,тут действительно надо сделать как kasper86 сказал,но я вот не пойму как это сделать
0
Заблокирован
16.12.2014, 20:04 14
kasper86, т.е. чтобы он вывел отредактированный массив?
2
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 20:09  [ТС] 15
tyreu, смотри
допустим есть массив 5 7 -1 0 3 2 4 6 8
две последовательности 5 7 8 и -1 0 2 4 6 8 (остальные последовательности нет смысла рассматривать,тк это самые большие)
в первом случае удаляется 6 элементов,во втором 3 элемента
прога показывает 6 ,но нам нужно - наименьшее число элементов,которые надо удалить,чтобы осталась возрастающая последовательность
то есть нам надо чтобы прога показала 3 элемента на удаление,но тк отсчет идет с первого элемента,то ответ выдает неправильный
как сделать так чтобы прога выбирала нужную последовательность и показывался правильный ответ,те 3?
0
219 / 164 / 47
Регистрация: 17.07.2012
Сообщений: 587
16.12.2014, 20:17 16
надо найти наибольшую возрастающую подпоследовательность, ее оставить, а все остальное удалить.
0
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 19
16.12.2014, 20:29  [ТС] 17
SlavaSSU, можно и так сказать
0
219 / 164 / 47
Регистрация: 17.07.2012
Сообщений: 587
16.12.2014, 21:24 18
ScaleO47, я решение сказал.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2014, 21:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Вставка элементов одной последовательности в другую так, чтобы вторая последовательность осталась невозрастающей
vector &lt;int&gt; vctavka(vector &lt;int&gt; posledovatelnost, vector &lt;int&gt; b) { for(unsigned...

Вставить в последовательность число так, чтобы последовательность осталась неубывающей.
Дана последовательность действительных чисел а1&lt;=а2...&lt;=an. Вставить в нее действительное число b...

Дана последовательность действительных чисел . Вставить действительное число b в нее так, чтобы последовательность осталась неубывающей
Здравствуйте! Ребят, помогите ещё разок кипятильнику. Задачка такая: Дана последовательность...

Дана последовательность действительных чисел а1<=а2...<=an. Вставить в нее действительное число b так, чтобы последовательность осталась неубывающей.
3. Дана последовательность действительных чисел а1&lt;=а2...&lt;=an. Вставить в нее действительное число...


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

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

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