Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2017, 15:25   #1
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию Максимальное двоичное число

Имеются два натуральных числа в двоичной форме, требуется найти максимальное число полученное из этих двух чисел
Помогите пожалуйста

Мои наработки:
Код:
#include <iostream>
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void max (int x, int y) 
{
    int i1,j1,z;
    int max1[i1];
    int max2[j1];
    int i = 0;
    int X = x;
    int rest = 1;
    int j = 0;
    int Y = y;
    int resta = 1;
    //Определение чисел на разряды
    while (X >= 1 && rest <= 1 and Y>=1 && resta <=1)
        {
            rest = X % 10;
            X = X / 10;
            i = i + 1;
            resta = Y % 10;
            Y = Y /10;
            j=j+1;
        }
    X = x;
    Y = y;
 
    if (resta>1 or rest>1) 
        {
            //Проверка на двоичность
            cout<<"Одна или несколько из последовательностей не бинарны!\n";
        }
    else
        {
            //Цикл выполняется, если число двоичное
            if ( ("$x" == "$y" ) )
            {
                cout<<z;
            }
        }
}
int main ()
{
    setlocale (0,"");
    cout<<"Введите две бинарные последовательности\n";
    //Ввод чисел
    cout<<"Введите x:\n";
    int x;
    cin>>x;
    cout<<"Введите y:\n";
    int y;
    cin>>y;
    max(x,y);
    system ("pause");
}
WonderDoggy вне форума Ответить с цитированием
Старый 30.03.2017, 19:04   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

>требуется найти максимальное число полученное из этих двух чисел

по каким правилам получается новое число?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 30.03.2017, 23:36   #3
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию

Как я понял, из первого и второго двоичного числа вычеркиваются нули и единицы, после чего остатки этих чисел складываются, в итоге должно получиться максимальное число в десятичной форме и вывести его в двоичной форме
WonderDoggy вне форума Ответить с цитированием
Старый 30.03.2017, 23:37   #4
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
>требуется найти максимальное число полученное из этих двух чисел

по каким правилам получается новое число?
Как-то так
WonderDoggy вне форума Ответить с цитированием
Старый 31.03.2017, 10:14   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от WonderDoggy Посмотреть сообщение
Как я понял, из первого и второго двоичного числа вычеркиваются нули и единицы,
я лично ничего не понял.

давайте попробуем на примере.
даны два числа в двоичном виде:
1101100
и
10011

покажите, какое будет "максимальное число полученное из этих двух чисел"?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2017, 10:34   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Особенно воодушевляет вычеркивание единиц ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.03.2017, 11:15   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Зато добавляет оптимизма вычеркивание нулей, особенно слева-стоящих.
digitalis на форуме Ответить с цитированием
Старый 31.03.2017, 11:30   #8
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
я лично ничего не понял.

давайте попробуем на примере.
даны два числа в двоичном виде:
1101100
и
10011

покажите, какое будет "максимальное число полученное из этих двух чисел"?
1101100 = 108 в десятичной
10011 = 19 в десятичной

Допустим вычеркиваем все нули из двух этих чисел в двоичной форме, остаются только единицы.
1101100 = 1111 - после удаления нулей, осталось 4 единицы
10011 = 111 - после удаления нулей, осталось 3 единицы
Берем 4 единицы из первого числа и 3 единицы из второго числа, соединяем все единицы, должно получиться 1111111, получается 127 в десятичной
127 > 108 и 127 > 19, мы нашли наибольшее возможное число из двух представленных
WonderDoggy вне форума Ответить с цитированием
Старый 31.03.2017, 12:01   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от WonderDoggy Посмотреть сообщение
опустим вычеркиваем все нули из двух этих чисел в двоичной форме, остаются только единицы.
так. нужно подсчитать, сколько единиц в этих двух числах?
Хорошо.
Это понятно.

А что насчёт максимума?

допустим даны два числа:
1101100 (это 108 в десятичной)
и
10000 (это 16 в десятичной)

какой результат "максимальное число полученное из этих двух чисел" ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2017, 12:43   #10
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так. нужно подсчитать, сколько единиц в этих двух числах?
Хорошо.
Это понятно.

А что насчёт максимума?

допустим даны два числа:
1101100 (это 108 в десятичной)
и
10000 (это 16 в десятичной)

какой результат "максимальное число полученное из этих двух чисел" ?
Найти максимальное число z, двоичную запись которого можно получить вычеркиванием цифр как из x, так и из y
Вот как звучит условие
WonderDoggy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++, Преобразовать массив из нулей и единиц в двоичное число Alendorff Помощь студентам 11 19.02.2013 17:16
Число фибоначчи. Двумерный массив, максимальное и минимальное число. Silverstone Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.12.2012 12:19
двоичное представление числа и просто число maxick96 Общие вопросы C/C++ 9 05.11.2012 21:37
как побитово разбить двоичное число? slon_slon_slon Общие вопросы C/C++ 4 08.11.2009 21:07
двоичное число→десятичное astrozombie Паскаль, Turbo Pascal, PascalABC.NET 4 06.05.2009 08:32