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

На какой отметке остановится мотоциклист через определенное время? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
20.06.2011, 13:19     На какой отметке остановится мотоциклист через определенное время? #1
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью vкилометров в час. На какой отметке он остановится через t часов?

Программа получает на вход значения v и t. Если v>0, то Вася движется в положительном направлении по МКАД, если же значение v<0, то в отрицательном.

Программа должна вывести целое число от 0 до 108 — номер отметки, на которой остановится Вася.
Пример
Ввод Вывод

60
2 11

-1
1 108
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2011, 13:19     На какой отметке остановится мотоциклист через определенное время?
Посмотрите здесь:

C++ Нажатие клавиш за определенное время
C++ Какой код треугольника Паскаля через цыкл, который выводит определенное количество строк?
Помогите решить задачу(Гражданин открыл счет в банке. Определить прирост и сумму вклада через определенное время) C++
Очистка экрана в консоли через определенное время C++
C++ Программа-таймер (отсчитывает определенное время)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.06.2011, 13:20     На какой отметке остановится мотоциклист через определенное время? #2
murod, Це ж физика. Накидайте алгоритм, затем напишите код... Тут кода-то почти не будет.
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
20.06.2011, 13:22  [ТС]     На какой отметке остановится мотоциклист через определенное время? #3
я решил, но когда сдаю задачу у меня выводит ошибку компиляции

Добавлено через 42 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
 
int main()
{
    int v, t, s;
    cin >> v >> t;
    s = abs(v) * t;
    if (v < 0)
    cout << 109 - s % 109;
    else
    cout << s % 109;
    return 0;
}
вот код
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.06.2011, 13:22     На какой отметке остановится мотоциклист через определенное время? #4
C++
1
2
3
4
5
6
7
double mkad(double v, double t)
{
 double result;
 result=v*t;
 result-=double(((long int)result)%109);
 return result;
}
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
20.06.2011, 13:25  [ТС]     На какой отметке остановится мотоциклист через определенное время? #5
задача выводит неправильный ответ!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.06.2011, 13:56     На какой отметке остановится мотоциклист через определенное время? #6
taras atavin, Стоит учитывать отрицательную скорость...

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
 
int main()
{
    int v, t, s;
    cin >> v >> t;
    s = v * t;
    if (v < 0)
    cout << 109 - (s % 109);
    else
    cout << s % 109;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2015, 11:08     На какой отметке остановится мотоциклист через определенное время?
Еще ссылки по теме:

Завершение бесконечного цикла через определенное время C++
Как сделать обновление текста строки через определенное время? C++
C++ Изменить значение переменной через определенное время

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

Или воспользуйтесь поиском по форуму:
Melvil
 Аватар для Melvil
47 / 46 / 13
Регистрация: 20.05.2015
Сообщений: 246
26.05.2015, 11:08     На какой отметке остановится мотоциклист через определенное время? #7
Цитата Сообщение от ForEveR Посмотреть сообщение
taras atavin, Стоит учитывать отрицательную скорость...
Я, конечно, новичек, да и сообщение было 3 года назад, однако всё равно задача остается актуальной.

Вот это:

C++
1
cout << 109 - (s % 109);
Нужно заменить на:

C++
1
cout << 109 + (s % 109);
Так как получается два минуса, они складываются и значение выходит больше 109, а это недопустимо. Весь код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int v, t, s;
    cin >> v >> t;
    s = v * t;
    if (v < 0)
        cout << 109 + (s % 109);
    else
        cout << s % 109 << endl;
    return 0;
}
И я не понимаю, зачем здесь <cmath> - всё и так работает.

Добавлено через 35 минут
Но то, что выше - тоже неверный ответ. В итоге, я всё же нашёл как нужно, на сайте с задачами всё прошло успешно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    int v, t, s;
    cin >> v >> t;
    s = v * t;
    if (v < 0)
        cout << 110 + (s % 109);
    else
        cout << (s % 109) + 1 << endl;
    return 0;
}
Во-первых, часто нужно вставлять без #include "stdafx.h", а теперь о самой задаче. Дорога всего 109 км, следовательно сразу после 109-го километра идёт снова первый. Получается при нахождении отрицательного значения нам нужно считать от 1-го километра, т.е. в задаче я это выразил как 110-й километр. А при нахождении положительного нужно прибавлять ещё 1 километр, так как как мы к 1 километру. который дан изначально прибавляем ещё. К примеру: U = 60, t = 2. Тогда ( 1 + 120 % 109 ). Также всё зависит от задачи. В похожей задаче есть входные данные, такие как 60, 2 = 12; -1, 1 = 109
Yandex
Объявления
26.05.2015, 11:08     На какой отметке остановится мотоциклист через определенное время?
Ответ Создать тему
Опции темы

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