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

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

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

Для каждого числа последовательности проверить, представляют ли его цифры строго убывающую последовательность - C++

05.05.2014, 19:09. Просмотров 741. Ответов 3
Метки нет (Все метки)

Здравствуйте!Помогите, пожалуйста!Необходимо подробно прокомментировать каждую строку.Вопрос жизни и смерти!

Задача

Вводится последовательность целых чисел, 0 – конец
последовательности. Для каждого числа последовательности проверить,
представляют ли его цифры строго убывающую последовательность,
например, 1234 (результатом функции будет 1 – Да, 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
29
30
31
32
33
34
#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <math.h>
 
using namespace std;
 
int Proverka (int N)
{
    int a; int b; int k=0; int k1=0;
 b=N% 10; N=N/10;
        while (N!=0)
{   a=N%10;
    N=N/10;
    if (b>a)
 
        {k=k+1;
    b=a;}
    k1=k1+1;
        }
 if (k==k1)return (1);
else return (0);
}
int main()
{
    int ch; 
cin>>ch;
while (ch!=0)
{cout<< Proverka(ch)<<"\n";
cin>>ch;
}
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 19:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для каждого числа последовательности проверить, представляют ли его цифры строго убывающую последовательность (C++):

Для каждого числа последовательности проверить, представляют ли его цифры строго убывающую последовательность - C++
Добрый день!Очередная задачка: Вводится последовательность целых чисел, 0 – конец последовательности. Для каждого числа...

Для каждого числа проверить представляют ли его цифры строго убывающую последовательность - C++
8. Вводится последовательность целых чисел, 0 – конец последовательности. Для каж-дого числа последовательности проверить, представляют ли...

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

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

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

Для каждого числа последовательности проверить, представляют ли его цифры строго убывающую последовательность - C#
Вводится последовательность целых чисел, 0 – конец последовательности. Для каждого числа последовательности проверить, представляют ли его...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
schdub
2945 / 1289 / 238
Регистрация: 19.01.2009
Сообщений: 3,379
Завершенные тесты: 1
06.05.2014, 01:42 #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 <iostream>
#include <cstdlib>
 
int Proverka(int n) {
    int a;            // хранит текущую самую правую цифру
    int b = n % 10;   // хранит правую цифру из предыдущей итерации 
    // выполняем цикл пока наше число не станет равно 0, на каждой итерации
    // и перед первой, уменьшаем число 'забывая' самую правую цифру
    for (n /= 10; n != 0; n /= 10) {
        a = n % 10;   // получаем самую правую цифру числа
        if (b <= a) { // сравнимаем с предыдущей самой правой
            return 0; // если мы здесь, то условие строго убывающей последовательности
        }             // не выполняется - нужно выйти из функции
        b = a;        // иначе запоминаем самую правую цифру для последующего сравнения
    }
    return 1;
}
 
int main() {
    for (int n = 0;;) {      // цикл (выход строка 22) и объявление переменной
        std::cin >> n;       // читаем число       
        if (n == 0) break;   // завершить ввод последовательности?
        std::cout << Proverka(n) << std::endl; // выполняем проверку и выводим результат
    }
    system ("pause");
}
риммок
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 68
06.05.2014, 18:09 #3
Спасибочки!!!разберусь
HelenCh
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 7
06.05.2014, 21:42  [ТС] #4
Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2014, 21:42
Привет! Вот еще темы с ответами:

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

Проверить, образуют ли характеристики столбцов матрицы строго убывающую последовательность - Turbo Pascal
Помогите написать прогу Дана матрица N*M. Назовём характеристикой столбца сумму его положительных элементов. Проверить, образуют ли...

Проверить истинность высказывания:"Цифры данного числа образуют возрастающую или убывающую последовательность - Turbo Pascal
дано трехзначное число. Проверить истинность высказывания:&quot;Цифры данного числа образуют возрастающую или убывающую...

Проверить истинность высказывания "цифры числа образуют возрастаюшую или убывающую последовательность" - Matlab
дано трехзначное число. Проверить истинность высказывания: &quot;цифры данного числа образуют возрастаюшую или убывающую...


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

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

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