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

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

Войти
Регистрация
Восстановить пароль
 
StrelokCj
49 / 49 / 12
Регистрация: 15.01.2013
Сообщений: 290
#1

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

15.04.2013, 20:38. Просмотров 544. Ответов 1
Метки нет (Все метки)

дана последовательность действительных чисел. вставить в нее действительное число b так, чтобы последовательность осталась неубывающей.
Написал код вроде правильно, но сдвигать массив перед тем как вставить число b не хочет ни в какую:
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
35
36
37
38
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
void main()
{
int a[100],i,j,n,b,r;
cout<<"Vvedite chislo b \n";
cin>>b;
cout<<"Vvedite razmernost massiva \n";
cin>>n;
cout<<"Vvodite elementy massiva \n";
for (i = 1; i <= n; i++) {
    cin>>a[i];
}
r=0;
for (i = 1; i <= n-1+r; i++) {
    if ((a[i]<b) && (a[i+1]>b)) {
    r+=1;
    for (j = n+r; j <= i; j--) {
        a[j]=a[j-1];
    }
    a[i+1]=b;
    break;
    }
}
for (i = 1; i <= n+r; i++) {
    cout<<a[i]<<" ";
}
cout<<"\n";
system("pause");
}
//---------------------------------------------------------------------------
Может кто что подсказать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 20:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей. (C++):

Массив: Образовать новую последовательность чисел так, чтобы она тоже была неубывающей - C++
Помогиет реализовать программу на С++ или дайте советы по ее построению Даны две последовательности a1 ≤ a2 ≤ ... ≤ an и b1 ≤...

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

Вставить действительное число в последовательность действительных чисел(С++) - C++
Дана невозрастающая последовательность действительных чисел {a1,a2, . . . ,an} . Вставить действительное число b в неё так, чтобы...

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

Разложить число в массив так, чтобы элементами была последовательность с единицы о этого числа - C++
как разложить число и записать в массив....например дано 4 4= 4 3 2 1 в масив записать 4 3 2 1

Сколькими способами можно изменить заданную последовательность, чтобы она осталась возрастающей? - C++
Дана последовательность из N различных чисел. Сколькими способами можно удалить из нее ка- кие-то числа, чтобы оставшаяся...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
15.04.2013, 21:10 #2
Ошибка в условии вложенного цикла, и счет в массиве идет с нуля, так что правильней начинать с 0
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
void main()
{
int a[100],i,j,n,b,r;
cout<<"Vvedite chislo b \n";
cin>>b;
cout<<"Vvedite razmernost massiva \n";
cin>>n;
cout<<"Vvodite elementy massiva \n";
for (i = 0; i < n; i++) {
    cin>>a[i];
}
r=0;
for (i = 0; i < n-1+r; i++) {
    if ((a[i]<b) && (a[i+1]>b)) {
    r+=1;
    for (j = n+r; j > i; j--) {
        a[j]=a[j-1];
    }
    a[i+1]=b;
    break;
    }
}
for (i = 0; i < n+r; i++) {
    cout<<a[i]<<" ";
}
cout<<"\n";
system("pause");
}
В прочем, как вам удобней.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 21:10
Привет! Вот еще темы с ответами:

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

Вставить введенное число в заданную неубывающую последовательность - C++
Доброго времени суток! Пишу вам так как уже опробовал все возможные для моего уровня новичка способы, пожалуйста помогите. Впрочем я не...

Задача:Разбить последовательность чисел от 1 до N^2 на N последовательностей так, чтобы все - C++
Задача:Разбить последовательность чисел от 1 до N^2 на N последовательностей так, чтобы все они состояли из N чисел и имели равные суммы....

Удалить элементы в массиве так, чтобы оставшиеся образовывали возрастающую последовательность - C++
Удалить в заданном массиве действительных чисел «лишние» (кроме первого) элементы так, чтобы оставшиеся образовывали возрастающую...


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

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

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