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

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

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

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

29.09.2013, 02:32. Просмотров 397. Ответов 2
Метки нет (Все метки)

Hello

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

C++ Тип памяти переменной float
C++ Как определить тип переменной?
C++ тип переменной
template, узнать тип переменной C++
C++ тип переменной WIN32_FIND_DATA
Что за тип переменной ofstream ? C++
Узнать тип переменной C++
Любой тип переменной C++
Проверка переменной на целый тип C++
C++ Классы, сменить тип переменной
C++ Тип переменной WIN32_FIND_DATA
Как вывести тип переменной? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1241 / 990 / 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     Тип переменной
Ответ Создать тему
Опции темы

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