1 Востаннє редагувалося sandy21 (21.02.2018 00:31:14)

Тема: Числа

Дано чотиризначне число. Необхідно:

Визначити, чи входять у його десятковий запис цифри 5 і 6

Вивести найбільшу цифру, яка у той запис входить

Наприклад:
Дано число 2946.
Цифри 5 і 6 не входять у запис цього числа одночасно.
Найбільшою цифрою числа 2946 є 9.

У минулій темі не побачив що код не вставив

#include "stdafx.h"
#include<conio.h>
#include<iostream>

int main()
{
    int *ch;

    int const n = 4;
    ch = new int[n];

    int k = 0;
    int temp;

    for (int i = 0; i < n; i++)
    {
        //std::cout << "Write your 4th number:";
        std::cin >> ch[i];
    }
    int max = ch[0];
    for (int k = 0; k < n; k++)
    {
        if (ch[k] > max)
        {
            max=ch[k];
        }
    }
    int const ch13 = 5;
    int const ch23 = 6;
    for (int g = 0; g < n; g++)
    {
        if (ch[g] = ch13 && ch[g] = ch23)
        {
            std::cout << " | " << ch[g];
        }
    }
    std::cout << "NAibolshee: " << max;
    _getch();
    return 0;
}

2 Востаннє редагувалося Betterthanyou (21.02.2018 07:05:16)

Re: Числа

1) int temp - змінна, яку ви ніде не використовуєте
Її можна використати, наприклад, для підрахунку 6 і 5 цифр 
2) ch[g] = ch13 && ch[g] = ch23
знаки "=" і "==", відрізняться, 1 - присвоєння 2 - порівнняння
3) ch = new int[n]; - це масив, чотири окремі числа, вам це потрібно чи все таки число в яке входить чотири цифри ?

#include<iostream>
 
int main()
{
    int *ch;
 
    int const n = 4;
    ch = new int[n];
 
    int k = 0;
    int temp(0);
 
    for (int i = 0; i < n; i++)
    {
        //std::cout << "Write your 4th number:";
        std::cin >> ch[i];
    }
    int max = ch[0];
    for (int k = 0; k < n; k++)
    {
        if (ch[k] > max)
        {
            max=ch[k];
        }
    }
    int const ch13 = 5;
    int const ch23 = 6;
    for (int g = 0; g < n; g++)
    {
        if (ch[g] == ch13 || ch[g] == ch23)
        {
            temp|=ch[g];
        }
    }
    std::cout << "NAibolshee: " << max <<" | temp:"<< (temp==7?"found":"not found");
    return 0;
}
)

Жарт..., думав що ви код не скинете...

#include <iostream>
#include <bitset>
#include <cstring>
int main()
{
    unsigned short a= 2946;
    unsigned char maxNum = 0;
    unsigned char found = 0;
    __asm 
    {
        mov EAX, DWORD PTR a
        mov EDX, 0        
        mov BX, 10
        mov ECX, 4
        BEGIN_LOOP1 :
        div BX
        push DX
        mov DX, 0
        loop BEGIN_LOOP1
        mov ECX, 4
        mov DX, 0
        mov BH, 1
        mov BL, 0
        BEGIN_LOOP2 :
        pop AX
        cmp AX, DX
        ja POINT1
        POINT1GOBACK:
        cmp AX, 5
        je POINT2
        cmp AX, 6
        je POINT2
        POINT2GOBACK:
        loop BEGIN_LOOP2
        jmp AVOID
        POINT1 :
        mov DX, AX
        jmp near POINT1GOBACK
        POINT2:
        OR BL, AL
        jmp near POINT2GOBACK
        AVOID:
        mov WORD PTR maxNum, DX
        mov BYTE PTR found, BL
    }
    std::cout << "Max number = " <<(int)maxNum << " | " 
        << (found == 7 ? "Number six and five found" : "Number six and five not found" );
    getchar();
    getchar();
    return 0;
}