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

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

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

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

15.04.2013, 20:38. Просмотров 515. Ответов 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");
}
//---------------------------------------------------------------------------
Может кто что подсказать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 20:38     Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей.
Посмотрите здесь:

C++ Вставить действительное число в последовательность действительных чисел(С++)
Вставка элементов одной последовательности в другую так, чтобы вторая последовательность осталась невозрастающей C++
Массив: Образовать новую последовательность чисел так, чтобы она тоже была неубывающей C++
Задача:Разбить последовательность чисел от 1 до N^2 на N последовательностей так, чтобы все C++
Разложить число в массив так, чтобы элементами была последовательность с единицы о этого числа C++
Преобразовать число так, чтобы его цифры представляли собой неубывающую последовательность C++
C++ Вставить введенное число в заданную неубывающую последовательность
C++ Отсортировать заданную последовательность так, чтобы все нули оказались в конце
Найти наименьшее число элементов, которые надо удалить, чтобы осталась возрастающая последовательность C++
C++ Удалить элементы в массиве так, чтобы оставшиеся образовывали возрастающую последовательность
C++ Сколькими способами можно изменить заданную последовательность, чтобы она осталась возрастающей?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
15.04.2013, 21:10     Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей. #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");
}
В прочем, как вам удобней.
Yandex
Объявления
15.04.2013, 21:10     Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей.
Ответ Создать тему
Опции темы

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