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

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

Войти
Регистрация
Восстановить пароль
 
Lena _t
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 32
#1

Последовательность цифр - C++

09.10.2011, 00:09. Просмотров 922. Ответов 7
Метки нет (Все метки)

Задана последовательность цифр (<100). Определить размер самой длинной неубывающей цепочки чисел этой последовательности.
Например:
Дано:4813847899122356691393893
Результат:
8
12235669
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2011, 00:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Последовательность цифр (C++):

Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по убыванию произведений цифр - C++
Здравствуйте. На форуме есть код подобный, но по возрастанию сумм элементов. Как мне подправить код, чтобы было &quot;по убыванию произведений...

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

Вводится последовательность из N целых чисел. Найти среднее арифметическое его цифр (функцией оформить определения среднего арифметического цифр числа - C++
Вводится последовательность из N целых чисел. Найти среднее арифметическое его цифр (функцией оформить определения среднего арифметического...

Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое число, количес - C++
Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое...

Последовательность из цифр, букв и знаков. Подсчитать чего больше и составить строки только из цифр, букв и знаков - C++
Дана последовательность состоящая из цифр, букв и знаков пунктуации в произвольном порядке. Подсчитать чего больше и составить строки...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alkagolik
Заблокирован
09.10.2011, 01:13 #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
#include <stdio.h>
 
int main(){
    char arr[100] = {'\0'};
    int max = 0, count = 1, i = 0, k;
 
    scanf("%s", &arr);
 
    printf(arr);
    i = 0;
 
    while (arr[i] !='\0'){
 
        while (arr[i++] <= arr[i + 1])
            ++count;
 
        if (max < count)
            max = count;
 
        count = 1;
    }
    printf("\n%d\n", max);
    printf("\n\n");
 
    return 0;
}
1
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
09.10.2011, 01:22 #3
Не врублюсь в задание)- самая длинная неубывающая цепочка - это какая вообще? Почему 12235669? Все понял извините.
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
09.10.2011, 14:37 #4
Цитата Сообщение от KeyGen Посмотреть сообщение
Не врублюсь в задание)- самая длинная неубывающая цепочка - это какая вообще? Почему 12235669?
последовательность x1,...,xn наз. неубывающей, если для любого i=2,...,n выполнено неравенство
http://www.cyberforum.ru/cgi-bin/latex.cgi?x_{i-1} \leq x_i
0
Lena _t
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 32
09.10.2011, 18:33  [ТС] #5
Цитата Сообщение от alkagolik Посмотреть сообщение
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
#include <stdio.h>
 
int main(){
    char arr[100] = {'\0'};
    int max = 0, count = 1, i = 0, k;
 
    scanf("%s", &arr);
 
    printf(arr);
    i = 0;
 
    while (arr[i] !='\0'){
 
        while (arr[i++] <= arr[i + 1])
            ++count;
 
        if (max < count)
            max = count;
 
        count = 1;
    }
    printf("\n%d\n", max);
    printf("\n\n");
 
    return 0;
}
А можно этот код записать как то по другому.А то не понятно :'(
0
alkagolik
Заблокирован
09.10.2011, 18:45 #6
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
#include <stdio.h>
 
int main(){
    char arr[100] = {'\0'};
    int max = 0, count = 1, i = 0, k;  //count -счетчик, max - максимальная неубывающая
//последовательность
 
    scanf("%s", &arr); //считать цифры в массив
 
    printf(arr);
    i = 0;
 
    while (arr[i] !='\0'){  // пока элемент массива не равен символу конца строки
 
        while (arr[i++] <= arr[i + 1])  //пока предыдущий элемент <= следующего 
            ++count;   //накручиваем счетчик
 
        if (max < count) //если максимум меньше счетчика - заменить максимум
            max = count;
 
        count = 1; // сбросить счетчик
    }
    printf("\n%d\n", max);
    printf("\n\n");
 
    return 0;
}
1
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
10.10.2011, 00:38 #7
Цитата Сообщение от alkagolik Посмотреть сообщение
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
#include <stdio.h>
 
int main(){
    char arr[100] = {'\0'};
    int max = 0, count = 1, i = 0, k;  //count -счетчик, max - максимальная неубывающая
//последовательность
 
    scanf("%s", &arr); //считать цифры в массив
 
    printf(arr);
    i = 0;
 
    while (arr[i] !='\0'){  // пока элемент массива не равен символу конца строки
 
        while (arr[i++] <= arr[i + 1])  //пока предыдущий элемент <= следующего 
            ++count;   //накручиваем счетчик
 
        if (max < count) //если максимум меньше счетчика - заменить максимум
            max = count;
 
        count = 1; // сбросить счетчик
    }
    printf("\n%d\n", max);
    printf("\n\n");
 
    return 0;
}
Подсчитать максимум легко, а вывести максимальную последовательность?
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
10.10.2011, 01:18 #8
alkagolik, Немного модифицировал:
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
41
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int main(){
    
    setlocale(LC_ALL, "rus");
    
    char arr[100] = {'\0'};
    int max = 0, count = 1, i = 0,j=0;//count -Г±Г·ГҐГІГ·ГЁГЄ, max - Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*Г*Гї Г*åóáûâГ*ГѕГ№Г*Гї
                                      //ïîñëåäîâГ*òåëüГ*îñòü
    int k; 
    
    scanf("%s", &arr); //Г±Г·ГЁГІГ*ГІГј öèôðû Гў Г¬Г*Г±Г±ГЁГў
    
 
    while (arr[i] !='\0'){  // ïîêГ* ýëåìåГ*ГІ Г¬Г*Г±Г±ГЁГўГ* Г*ГҐ Г°Г*ГўГҐГ* ñèìâîëó ГЄГ®Г*Г¶Г* ñòðîêè
 
        while (arr[i++] <= arr[i + 1])  //ïîêГ* ïðåäûäóùèé ýëåìåГ*ГІ <= ñëåäóþùåãî 
            ++count;   //Г*Г*êðó÷èâГ*ГҐГ¬ Г±Г·ГҐГІГ·ГЁГЄ
 
        if (max < count){ //åñëè Г¬Г*êñèìóì ìåГ*ГјГёГҐ Г±Г·ГҐГІГ·ГЁГЄГ* - Г§Г*ìåГ*ГЁГІГј Г¬Г*êñèìóì
            max = count;
            k=i; //Г‡Г*ïîìèГ*Г*ГҐГ¬ ãäå áûëГ* Г*Г*èáîëüøГ*Гї
            }
 
        count = 1; // ñáðîñèòü Г±Г·ГҐГІГ·ГЁГЄ
    }
    
    cout << "\nГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*Г*Гї ïîñëåäîâГ*òåëüГ*îñòü:\n";
    for(int m=k-max; m<k; m++) 
    cout << arr[m];
    
    cout << "\n\nÊîëè÷åñòâî öèôð Гў ïîñëåäîâГ*òåëüГ*îñòè:\n";
    printf("%d\n", max);
    printf("\n\n");
 
    system("PAUSE");
    return 0;
}
0
Миниатюры
Последовательность цифр   Последовательность цифр  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 01:18
Привет! Вот еще темы с ответами:

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

Ввести непустую последовательность цифр - C++
Используя только буквенный ввод, то есть процедуру read (c), где с-буквенная переменная, ввести непустую последовательность цифр, перед...

Выявить последовательность неубывающих цифр - C++
Задача:Дано некоторое число N. Выявить из этого числа максимальную последовательность неубывающих цифр. Пример: число 721589. в этом...

Вычислить последовательность цифр циклом While - C++
На скрине задание - http://i068.***********/1212/f7/6e2b7eebec3e.png Т.е. надо сложить последовательность чисел (через цикл while) и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.10.2011, 01:18
Ответ Создать тему
Опции темы

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