Предмет: Информатика, автор: X1337

C++

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

Ответы

Автор ответа: pz4t9v0d4tly
1

#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;

}

Похожие вопросы
Предмет: Алгебра, автор: arina05