Solution Review: Calculate Distance Between Two Points
This lesson discusses the detailed solution review to the problem in the previous lesson.
We'll cover the following...
Solution:
Press + to interact
#[derive(Debug)] // prints the value of struct using the debug traitstruct Point {x: i32,y: i32}fn test(point1: Point, point2: Point)-> f32 {let distance = i32::pow(point1.x - point2.x,2) + i32::pow(point1.y - point2.y,2);let d = distance as f32;d.sqrt()}fn main(){let point1 = Point { x: 3, y: 4 };let point2 = Point { x: 2, y: 3 };println!("point1:{:?}", point1);println!("point2:{:?}", point2);print!("Distance between two points:");print!("{}", test(point1, point2));}
Explanation
-
struct
Point
- On line 2, a
struct
Point
is defined which has two itemsx
of typei32
andy
of typei32
.
- On line 2, a
-
test
function-
On line 6, a function
test
is defined which takes parameterpoint1
andpoint2
of typePoint
and returns anf32
type, i.e., the distance between the two points. -
On line 7, ...
-