20 / 19 / 2
Регистрация: 19.06.2019
Сообщений: 45
1

Цилиндры

06.12.2019, 23:29. Показов 834. Ответов 0
Метки нет (Все метки)

Здравствуйте, решаю задачу и не могу понять в чем причина неработоспособности. Вот условие:

Цилиндры
Робототехническое устройство, собранное по дифференциальной схеме и c заданным диаметром колес, движется по прямой с постоянной скоростью.

На устройстве установлен ультразвуковой датчик расстояния, направленный влево перпендикулярно направлению движения. Слева от робототехнического устройства установлены в ряд цилиндры разного диаметра di

Цилиндры расположены таким образом, что все их центры находятся на одной прямой. Высота цилиндров много выше высоты, на которой установлен датчик расстояния. Цилиндры могут располагаться как вплотную друг к другу, так и с зазором.

Во время движения датчик расстояния, устроенный таким образом, что он имеет конус направленности 1'' и возвращает минимальное значение из заданного диапазона или максимально возможное в случае, если отсутствуют какие-либо объекты в непосредственной видимости датчика. Известно, что показания ультразвукового датчика не идеальны, в них всегда присутствует высокая доля помех. Частота опроса датчика - 10 Гц.

Необходимо найти цилиндр максимального диаметра. Известно, что радиус колес равен 0.09 м.

При движении робота не гарантируется, что он движется параллельно прямой, на которой установлены цилиндры. Гарантируется, что робот движется так, что во время движения фиксирует датчиком все установленные цилиндры таким образом, что было сделано не менее 33 изменений для каждого цилиндра.


Формат входных данных
Первая строка входных данных содержит одно целое число - N, где:

N - количество измерений (3 ≤ N ≤ 1000).
Далее идут N строк, содержащие 2 вещественных числа через пробел - Enc, S, где:

Enc - среднее арифметическое показаний энкодеров левого и правого колеса в градусах (−1 ≤ Enc ≤ 10^6)
S - показание датчика расстояния в мм (10 ≤ S ≤ 3700).

Формат выходных данных
Одна строка, содержащая одно целое число - номер цилиндра максимального диаметра считая по ходу движения.

Пример входных данных: https://drive.google.com/drive... tMuY2U745w


Вот код моей программы:
Кликните здесь для просмотра всего текста
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
#include<iostream>
#include<string>
#include<algorithm>
#include<list>
#include<vector>
using namespace std;
int main() {
    long long int n, kol = 0, ans = 0;
    long double maxsize = 0;
    cin >> n;
    vector<pair<long double, long double>> var;
    for (long long int i = 0; i < n; i++) {
        long double l, t;
        cin >> l >> t;
        var.push_back({ l,t });
    }
    for (long long int i = 0; i < n; i++) {
        long long int posx, posy;
        if (var[i].second != 3700 && var[i].second != 10) {
            posx = i;
            while (i != var.size() && var[i].second != 3700 && var[i].second != 10) {
                posy = i;
                i++;
            }
            kol++;
            long  double grad = var[posy].first - var[posx].first;
            long double oborot = grad / 360;
            long double lkol = 565.5f;
            long double leght = lkol * oborot;
            if (maxsize < grad)
            {
                maxsize = grad;
                ans = kol;
            }
        }
    }
    cout << ans;
 
 
}

к сожалению программа проходит только 7 тестов из 10.
Помогите пожалуйста дорешить или скажите логику решения. Заранее большое спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2019, 23:29
Ответы с готовыми решениями:

Отсортировать и вывести цилиндры по возрастанию объемов
Помогите срочно нужна программа! На ввод подается некоторое количество цилиндров(координаты...

Какую скорость приобретают сплошной и полый цилиндры?
Какую скорость приобретают сплошной и полый цилиндры, скатившись без скольжения с наклонной...

Для рисования каких деталей не требуется использовать цилиндры?
Подскажите, какие существуют детали (пример), для вырисовки которых не требуется...

Как разместить цилиндры случайным образом с заданной концентрацией
Здравствуйте Не могли бы вы помочь мне в следующем вопросе: мне нужно «смоделировать» толпу на...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2019, 23:29
Помогаю со студенческими работами здесь

Алюминиевый и стальной цилиндры имеют одинаковую высоту и равные массы
Алюминиевый и стальной цилиндры имеют одинаковую высоту и равные массы . На цилиндры действуют...

Выбрать цилиндры,радиус основы которых равняется высоте и записать в файл таблицу
Задание: В текстовом файле данные радиусов основ и высот 12 цилиндров. Выбрать цилиндры,радиус...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru