
C++ Напишите программу, которая вводит координаты двух точек на числовой оси и выводит расстояние
между ними. Входные данные В первой строке вводятся через пробел координаты первой точки (сначала x -координата, потом y -координата), во второй строке в том же порядке – координаты второй точки. Все координаты – вещественные числа. Выходные данные Программа должна вывести одно число: расстояние между точками с тремя знаками в дробной части. Примеры входные данные 1. 1. 2. 2. выходные данные 1.414

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

#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int main() {
vector<float> coordinates;
string a;
getline(cin, a);
string buffer;
for(int i = 0; i<a.length(); ++i) {
if(a[i]!=' ') {
buffer+=a[i];
} if(a[i]==' '||i==a.length()-1) {
if(buffer[buffer.length()-1]=='.') {
buffer+="0";
}
float num = stof(buffer);
coordinates.push_back(num);
buffer = "";
}
}
if(coordinates.size()!=4) {
cout << "wrong data. example: 1.1 2.2 3.3 4.4";
}
float result;
int temp1, temp2, temp3, temp4;
temp1 = coordinates[0]-coordinates[2];
temp2 = coordinates[1]-coordinates[3];
temp1 = temp1 * temp1;
temp2 = temp2 * temp2;
temp3 = temp1 + temp2;
result = sqrt(temp3);
cout << result;
}



Конечно, вот пример программы на C++, который решает данную задачу:
cpp#include <iostream>
#include <cmath>
int main() {
double x1, y1, x2, y2;
// Ввод координат первой точки
std::cout << "Введите координаты первой точки (x y): ";
std::cin >> x1 >> y1;
// Ввод координат второй точки
std::cout << "Введите координаты второй точки (x y): ";
std::cin >> x2 >> y2;
// Вычисление расстояния между точками
double distance = std::sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
// Вывод расстояния с тремя знаками в дробной части
std::cout.precision(3);
std::cout << "Расстояние между точками: " << distance << std::endl;
return 0;
}
Программа сначала считывает координаты обеих точек, затем вычисляет расстояние между ними с помощью формулы для расстояния между двумя точками в двумерном пространстве. Наконец, она выводит результат с тремя знаками после запятой.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili