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

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

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

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

05.05.2014, 19:09. Просмотров 530. Ответов 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++ Дано трехзначное число. Проверить истинность высказывания: "Цифры даного числа образуют возрастающую или убывающую последовательность"
Для каждого числа последовательности проверить, представляют ли его цифры строго убывающую последовательность C++
Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность C++
C++ Реализовать программу, которая находит все натуральные n-значные числа,цифры в которых образуют строго возрастающую последовательность(1234,2378,5789)
C++ Проверить, образуют ли характеристики столбцов строго убывающую последовательность.
Цифры данного четырехзначного числа N образуют строго возрастающую последовательность C++
C++ Найти натуральные числа меньше N, цифры в записи которых образуют строго возрастающую последовательность
Определить, представляют ли элементы введенного с клавиатуры массива убывающую последовательность C++
Для каждого числа проверить, представляют ли его цифры строго возрастающую последовательность C++
Для каждого числа проверить представляют ли его цифры строго убывающую последовательность C++
Проверить, представляют ли цифры числа строго возрастающую последовательность C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
schdub
 Аватар для schdub
2916 / 1260 / 227
Регистрация: 19.01.2009
Сообщений: 3,273
Завершенные тесты: 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
Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!
Yandex
Объявления
06.05.2014, 21:42     Для каждого числа последовательности проверить, представляют ли его цифры строго убывающую последовательность
Ответ Создать тему
Опции темы

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