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

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

Войти
Регистрация
Восстановить пароль
 
boomeer
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 8
#1

Промежутки - C++

30.10.2010, 20:54. Просмотров 1008. Ответов 2
Метки нет (Все метки)

На вход подается интервал, полуинтервал или отрезок.
( (x, y) or [x, y) or (x, y] or [x, y] )
Где х представлено как a/b, у как c/d. a, c -целые, b, d - положительные.
Если b и (или) d ==1 то записывается просто a и (или ) c.
Промежуток задается так: открывается квадратная или круглая скобка, далее записано число x в формате a/b или a, затем запятая и пробе, затем число y в таком же формате, после закрывается скобка, перевод строки и конец файла. Abs(a) abs(c)<=10^9. 0<d, b<=10^9
Найти количество целых чисел в промежутке.
На входе [3/2, 4) на выходе 2
На входе [-2, 4/3] на выходе 4

Помогите плз понять как сделать, что то даже не пойму как организовать анализ ввода. Но кажется нужно приводить к общему знаменателю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2010, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Промежутки (C++):

Как в С++ записываються промежутки - C++
Есть такая задача: сделать так что бы программа высчитывала знак зодиака. Как записать условие, как вообще задать промежуток?

Вызов функции через равные промежутки времени - C++
Привет. Нужно передавать принимать данные через usb hid устройство. Для этого нужно через равные промежутки времени (допустим 1 сек.)...

Опишите промежутки чисел и символов при разных типах - C++
char: wchar_t: int: float: double: *Какие из них начинают отсчёт от 0, а какие могут быть отрицательными? *Какие могут быть...

Определить, сколько клеток будет через определенные промежутки времени - C++
Одноклеточная амеба каждые 3 часа делится на две клетки. Определить, сколько клеток будет черещ 3, 6, 9, ..., 24 часа. Если первоначально...

На отрезке xє[-4; 4] выделить промежутки длиной h = 0.1, в которых есть действительные корни функции b = xtgx-e ^ (x-3) - C++
На отрезке xє выделить промежутки длиной h = 0.1; в которых есть действительные корни функции b = xtgx-e ^ (x-3) Вычислить количество...

Найти промежутки возрастания и промежутки убывания - Pascal ABC
Помогите пожалуйста с задачей!!! Хотябы объясните как решить ..А то чего то вообще сообразить не могу:( Известно, что функция y = P(x)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
31.10.2010, 00:19 #2
1. Символ
2. До запятой.
Запятую пропускаем.
3. до скобки (квард, кругл.)
4. Символ.
Дальше смотрим считанную часть в п. 2. Если есть косая - делим на две части. Заокругляем в большую сторону.
Со вторым тоже самое, только заокругляем в левую.
Итого есть 2 целых числа, берём разницу плюс один.
Кроме того, если скобка квадратная и число с той стороны целое - прибавляем 1 к результату.
boomeer
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 8
02.11.2010, 16:05  [ТС] #3
Нужна помощь, проходит 16 тестов из 20
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
36
37
38
39
40
41
42
#include <cstdio>
#include <cstring>
 
int main()
{
    char str1[128], str2[128];
    scanf("%s%s", str1, str2);
 
    int a, c;
    unsigned b, d;
    char sk1, sk2;
 
    if(strchr(str1, '/'))
        sscanf(str1, "%c%d/%u,", &sk1, &a, &b);
    else
    {
        sscanf(str1, "%c%d,", &sk1, &a);
        b = 1U;
    }
    if(strchr(str2, '/'))
        sscanf(str2, "%d/%u%c", &c, &d, &sk2);
    else
    {
        sscanf(str2, "%d%c", &c, &sk2);
        d = 1U;
    }
 
    int left(a/(int)b), right(c/(int)d);
    if(sk1 == '(' && !(a % b))
        left++;
    if(sk2 == ')' && !(c % d))
        right--;
 
    if(a%b && a/(int)b > 0)
        left++;
    if(c%d && c/(int)d < 0)
        right--;
 
    printf("%d\n", (right-left >= 0 ? right-left+1 : 0));
 
    return 0;
}
Быть может узрит кто ошибку
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2010, 16:05
Привет! Вот еще темы с ответами:

Промежутки - Free Pascal
Есть задача: Поликарп очень любит учиться в школе и всегда добросовестно выполняет домашнее задание. У Поликарпа никогда не было проблем...

Промежутки возрастания - Delphi
Дан массив из N(1&lt;=N&lt;=100000)целых чисел. Найти количество участков, состоящих по крайней мере из двух элементов, на которых его элементы...

Промежутки даты - PHP
Пока что,не особо разбираюсь в php. Хотел поинтересоваться. Допустим есть некая форма,с некоторыми полями. Пока что отойдем от нее. ...

Промежутки монотонности - Математический анализ
скиньте сюда ответы пожалуйста


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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