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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна программа для обработки матрицы http://www.cyberforum.ru/cpp-beginners/thread976347.html
Сформировать вектор минимальных элементов столбцов матрицы матрицы, заменить первые элементы строк матрицы максимальным среди минимальных элементов столбцов #include <iostream> using namespace ...
C++ Программа вылетает при попытке открыть файл #include<iostream.h> #include<windows.h> #include<conio.h> #include<fstream.h> const int L=31; struct student{ char fam; char im; char ot; char gr; http://www.cyberforum.ru/cpp-beginners/thread976345.html
C++ Данная целочисленная квадратная матрица. Определить
Здравствуйте! Помогите решить задачу на С++. Данная целочисленная квадратная матрица. Определить: 1) произведение элементов в тех строках, которые не содержат отрицательных элементов; 2)...
Удалить русские буквы из строки C++
Задача удалить русские буквы из строки. abc- массив символов (русский алфавит), А -собственно строка. Все бы хорошо да не удаляется последний символ в строке (если является русским символом). Код:...
C++ Шейкер сортировка http://www.cyberforum.ru/cpp-beginners/thread976294.html
Здравствуйте. Столкнулся с задачей реализации Шейкер сортировки .Почитал теорию и понял , что она очень похожа на пузырьковую. Но столкнулся с примером кода и стало совсем ничего не понятно . ...
C++ Файловый ввод и поиск самого длинного слова в тексте Здравствуйте. Нужно написать программу, которая вводит текст, состоящий из нескольких предложений, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте. Хочу, чтобы текст... подробнее

Показать сообщение отдельно
Serg22
103 / 103 / 31
Регистрация: 04.03.2013
Сообщений: 479
Завершенные тесты: 2

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

13.10.2013, 16:29. Просмотров 757. Ответов 1
Метки (Все метки)

Привет. Искал в интернете задачи по с++, наткнулся на эту.
Витя работает недалеко от одной из станций кольцевой линии метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой.
Входные данные
заданы три числа: сначала 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
Миниатюры
Обьясните выполнение задачи  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru