ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1274. Fractional Arithmetic

WA on test #1
Послано Rouk 15 авг 2012 17:19
Please help me!
I think the problem with the input / output. post the code
sorry for the Russian comments.

INPUT

//структура дроби
struct Fractional
{
    //объявление целой части, числителя и знаменателя
    long long intPart, numerator, denomerator;
} _oneFract, _twoFract, _result;

//функция считывания дроби
Fractional ReadFractional()
{
    Fractional _fract;
    //переменная _razdel определяет, что ввели: только целую часть, только дробную часть или целую и дробную часть
    char _razdel;
    //считываем первое число
    scanf("%lld",&_fract.intPart);
    //считываем разделитель после первой цифры: если нажат Enter, то число без дробной части,
    //если слеш, то только дробная часть, если пробел то и целая и дробная части присутствуют
    scanf("%c", &_razdel);
    if (_razdel == '\n')
    {
        _fract.numerator = 0;
        _fract.denomerator = 1;
    }
    else if (_razdel == ' ')
    {
        //Считываем дробную часть
        scanf("%lld/%lld", &_fract.numerator, &_fract.denomerator);
        if (_fract.denomerator == 0)
            _fract.denomerator = 1;
    }
    else if (_razdel == '/')
    {
        //Считываем знаменатель
        scanf("%lld", &_fract.denomerator);
        if (_fract.denomerator == 0)
            _fract.denomerator = 1;
        _fract.numerator = _fract.intPart;
        _fract.intPart = 0;
    }
    //Сбрасываем входной поток
    fflush(stdin);
    return _fract;
}

OUTPUT

        if (_result.intPart == 0)
    {
        if (_result.numerator == 0)
        {
            printf("0");
        }
        else
        {
            printf("%lld/%lld", _result.numerator, _result.denomerator);
        }
    }
    else if (_result.numerator == 0)
    {
        printf("%lld",_result.intPart);
    }
    else
    {
        printf("%lld %lld/%lld",_result.intPart, _result.numerator, _result.denomerator);
    }

The answers are checked and correct

Edited by author 15.08.2012 17:22