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

Тип переменной - C++

Восстановить пароль Регистрация
 
thejadefalcon
 Аватар для thejadefalcon
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 41
29.09.2013, 02:32     Тип переменной #1
Hello

В общем, дана задача: Даны два натуральных числа A и B. Требуется определить большее из них.
Где А и В должны быть больше 1 и меньше чем 10^100.
Я никак не пойму, какой тип переменных писать. Подскажите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 02:32     Тип переменной
Посмотрите здесь:

C++ тип переменной
template, узнать тип переменной C++
C++ тип переменной WIN32_FIND_DATA
Что за тип переменной ofstream ? C++
Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR? C++
Узнать тип переменной C++
любой тип переменной C++
C++ Тип переменной WIN32_FIND_DATA

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
29.09.2013, 02:37     Тип переменной #2
Сравнивайте десятичное представление чисел в виде строк (std::string или куда вы там собрались считывать). Считываете чиселки. Отрезаете ведущие нули. Если одно число длиннее другого, то оно очевидно больше. Если равного размера, то вперёд сравнивать цифры, начиная со старших разрядов.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
29.09.2013, 03:11     Тип переменной #3
как-то так
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
#include <iostream>
#include <fstream>
#include <string>
 
struct long_number
{
    std::string num;
};
 
bool operator < (const long_number &lhs, const long_number &rhs)
{
    if (lhs.num.size() != rhs.num.size()) {
        return lhs.num < rhs.num;
    }
    for (size_t i = 0; i < lhs.num.size(); ++i) {
        if (lhs.num[i] == rhs.num[i]) {
            continue;
        }
        return lhs.num[i] < rhs.num[i];
    }
    return false;
}
 
 
int main()
{
    std::ifstream file("numbers.txt");
    long_number a, b;
    std::getline(file, a.num);
    std::getline(file, b.num);
    std::cout << "a = " << a.num << std::endl;
    std::cout << "b = " << b.num << std::endl;
    std::cout << (a < b) << std::endl;
    return 0;
}
Yandex
Объявления
29.09.2013, 03:11     Тип переменной
Ответ Создать тему
Опции темы

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