Информатика, вопрос задал shararam , 2 года назад

Написать программу на C++

Кольцевая линия

Маша и Даша живут около одной остановки кольцевой линии трамвая. Трамваи ходят по линии в обе стороны. Девочкам надо попасть в кинотеатр, который расположен около другой остановки этой линии. Они сели на трамваи, идущие в разные стороны и начали считать остановки, начиная с той на которой они вошли в трамвай. Они вышли у кинотеатра, причем для Маши это оказалась k-тая остановка, а для Даши m-тая. Напишите программу для определения количества остановок на кольцевой линии.
Input format: В одной строке два натуральных числа k и m. Числа не превосходят 100.

Output format: Одно число — ответ к задаче.


MaxLevs: Небось и ответ лучший выставишь?

Ответы на вопрос

Ответил kombat1488
1

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

setlocale(0, " ");

ifstream inf("circle.in");

if (inf.is_open())

cout << "Файл circle.in открыт! \n"

<< endl;

else

{

cout << "Файл circle.in не найден!\n"

<< endl;

return -1;

}

int k, m;

inf >> k >> m;

ofstream outf("circle.out");

int s = k + m - 2;

outf << s;

cout << "Ваши данные обработаны!";

return 0;

}

Ответил MaxLevs
1

Например, мы имеем кольцевую дорогу из 6 станций (картинка ниже).

Для пути от 4 до 2 получаем k = 5, m = 3.

Для получения количества станций из k и m достаточно сложить эти два числа и вычесть количество дважды посчитанных остановок.

n = k + m - 2

Код:

  • #include <iostream>
  • int count_train_stations(int k, int m) {
  •    return k + m - 2;
  • }
  • int main() {
  •    int k, m;
  •    std::cin >> k >> m;
  •    std::cout << count_train_stations(k, m) << std::endl;
  • }

Приложения:
Новые вопросы