Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
107 / 107 / 58
Регистрация: 04.03.2013
Сообщений: 479
1

Обьясните выполнение задачи

13.10.2013, 16:29. Показов 3417. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Искал в интернете задачи по с++, наткнулся на эту.
Витя работает недалеко от одной из станций кольцевой линии метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой.
Входные данные
заданы три числа: сначала N – общее количество станций кольцевой линии, а затем i и j – номера станции, на которой Витя садится, и станции, на которой он должен выйти. Станции пронумерованы подряд натуральными числами 1, 2, 3, …, N (1-я станция – соседняя с N-й), N не превосходит 100. Числа i и j не совпадают.
Выходные данные
требуется вывести минимальное количество промежуточных станций (не считая станции посадки и высадки), которые необходимо проехать Вите.

Вот решение:
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> 
using namespace std; 
 
int main() 
{ 
 
int a,b,c,d=0,e=0,f=0,g=0,h=0; 
cout <<"vvedite a,b,c"<<endl;
cin>>a>>b>>c; 
 
if (b<c) 
{ 
f=a-c; 
g=a-b; 
h=c-b; 
if (h<(f+b)) 
{cout<<h-1<<endl; system("pause");}
else 
{cout<<f+b-1<<endl; 
system("pause");}
} 
else 
{ 
f=a-c; 
g=a-b; 
h=b-c; 
if (h<(g+c)) 
{cout<<h-1<<endl; 
system("pause");}
else 
{cout<<g+c-1<<endl; 
system("pause");}
} 
return 0; 
}
Обьясните, пожалуйста, как именно мы находим мин. кол-во промежуточных станций? и что значат d,e,f,g,h ?
Особенно интересует случай когда b>c, например, a=100, b=75, c=4 . Почему 28?оО
Миниатюры
Обьясните выполнение задачи  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2013, 16:29
Ответы с готовыми решениями:

Обьясните условие задачи
Обьясните пожалуйста что нужно сделать?? Вычислить значение y в зависимости от выбранной...

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

Выполнение задачи с интервалом 1 с
Пишу программу под Андроид. Одна из функций программы, запуск определенного кода каждую секунду вне...

Выполнение задачи по расписанию
Добрый день! Имеется скрипт который выполняет определенную функцию по расписанию. В данный...

1
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 6
13.10.2013, 17:31 2
28 потому что 100+4-75=29(количество станций от 76 до 104). Нам же нужны только промежуточные станции, потому 29-1=28. f,g,h - значат ровно то, что там написано, f - количество станций от станции выхода до конца(макс номера станции), остальные по аналогии. d,e - вообще не используются..
0
13.10.2013, 17:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2013, 17:31
Помогаю со студенческими работами здесь

Выполнение задачи каждые 20 минут
Привет всем! Подскажите пожалуйста, как можно реализовать такой скрипт: Каждые 20 минут...

Выполнение задачи за фиксированное время
Есть цикл, который меняет скважность ШИМ по линейному закону. В цикле задержка. Каким образом...

Выполнение задачи с правом системы
В сети стоят десятки. На некоторых компах сети установлены приложения с правами системы (кто это...

Выполнение задачи по нажатию клавиши
Нашёл в сети вот такой не хитрый код. private void Form1_KeyPress(object sender,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru