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

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

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

Ошибка в коде - C++

09.11.2010, 22:50. Просмотров 306. Ответов 3
Метки нет (Все метки)

Задача: Получить максимальную по длине неубывающую под последовательность цифр введенного числа. Ошибка возникает в случае если эта под последовательность начинается с первого элемента массива. То есть скажем берем число 345625374672 по идее программа должна выдать 3456 но она меняет 3 на 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
35
36
37
38
39
40
       #include <iostream>
        #include <conio>
using namespace std;
 
int main()
{
const int n=12;
 
int A[n],B[n];
long long int k,p;
cout<<"Vvedite posledovatel'nost' s kollichestovm elementov ravnim "<<n<<endl;
cin>>k;
p=k;
 
for (int j=n-1; j>-1; j--)
        {A[j]=k%10;
        k=k/10;
        }
 
B[0]=1;
for (int i=0; i<n; i++)
        {if (A[i]<A[i+1]) B[i+1]=B[i]+1;
                else B[i+1]=1;
        }
 
int max=B[0];
for (int i=0; i<n; i++)
        {if (B[i+1]>max)
                {k=i+1;
                 max=B[i+1];
                }
 
        }
cout<<"Samaya dlinnaya ne ubivayushaya \npodoposledovatel'nost' posledovatel'nosti "<<p<<" = ";
for (int i=k+1-max; i<(k+1); i++)
        {cout<<A[i];
        }
 
getch(); return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2010, 22:50     Ошибка в коде
Посмотрите здесь:

C++ Ошибка в коде)
Ошибка в коде.. C++
Ошибка в коде C++
C++ Ошибка в коде
Ошибка в коде C++
C++ Ошибка в коде
C++ C++ ошибка в коде
Ошибка в коде C++
C++ Ошибка в коде
C++ Ошибка в коде?
C++ Ошибка в коде
C++ Ошибка в коде

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
09.11.2010, 23:30     Ошибка в коде #2
Visual Studio 2008 - Ответ выдается верно
zloivan
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 8
09.11.2010, 23:54  [ТС]     Ошибка в коде #3
Builder 6. Обязан сделать прогу в нем. И интересно в принципе узнать по какому поводу, меняется первый элемент массива A... то есть если его выписать в конце программы cout<<A[0]; он отличается от оригинального, хотя видоизменению массив А не поддавался.
besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
10.11.2010, 00:12     Ошибка в коде #4
C++
1
else B[i+1]=1
При i = 11, вы обращаетесь к B[12], т.е. к элементу массива, которого не существует. А по этому адресу хранится элемент A[0];
Yandex
Объявления
10.11.2010, 00:12     Ошибка в коде
Ответ Создать тему
Опции темы

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