mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
doe_it_fit
Instructions
Using the areas_volumes
module provided, create two functions:
-
area_fit
that receives 6 arguments:x
andy
, size of the square in which it is going to be tried to fit the geometrical shapes (both usize)objects
, the type of geometrical shape(s) that it is going to be tried to be fitted in the square (areas_volumes::GeometricalShapes)times
, the number of geometrical shapes that are going to be tried to be fitted in the square (usize)a
andb
, the dimensions that the plane(s) shape(s) passed will have (both usize)a
will refer to the side of the Square, the radius of the Circle, the side_a of the Rectangle or the base of the Triangleb
will refer to the side_b of the Rectangle or the height of the Triangle
-
area_fit
should return if the geometrical shape(s) fit inside of the square.volume_fit
that receives 8 arguments:x
,y
andz
, size of the box in which it is going to be tried to fit the geometrical volumes (both usize)objects
, the type of geometrical volume(s) that it is going to be tried to be fitted in the box (areas_volumes::GeometricalVolumes)times
, the number of geometrical volumes that are going to be tried to be fitted in the box (usize)a
,b
andc
, the dimensions that the geometrical volume(s) passed will have (all of them usize)a
will refer to the side of the Cube, the radius of the Sphere, the side_a of the Parallelepiped, the area of the base of the Triangular Pyramid or the base radius of the Coneb
will refer to the side_b of the Parallelepiped, the height of the Triangular Pyramid or the height of the Conec
will refer to the side_c of the Parallelepiped
-
volume_fit
should return if the geometrical volume(s) fit inside of the box.
Expected Functions (and Structures)
pub fn area_fit(
x: usize,
y: usize,
objects: areas_volumes::GeometricalShapes,
times: usize,
a: usize,
b: usize,
) {}
pub fn volume_fit(
x: usize,
y: usize,
z: usize,
objects: areas_volumes::GeometricalVolumes,
times: usize,
a: usize,
b: usize,
c: usize,
) {}
Usage
Here is a program to test your function:
fn main() {
println!(
"Does 100 rectangles (2x1) fit in a 2 by 4 square? {}",
area_fit(2, 4, GeometricalShapes::Rectangle, 100, 2, 1)
);
println!(
"Does 3 triangles (5 base and 3 height) fit in a 5 by 5 square? {}",
area_fit(5, 5, GeometricalShapes::Triangle, 3, 5, 3)
);
println!(
"Does 3 spheres (2 radius) fit in a 5 by 5 by 5 box? {}",
volume_fit(5, 5, 5, GeometricalVolumes::Sphere, 3, 2, 0, 0)
);
println!(
"Does 3 triangles (5 base and 3 height) fit in a 5 by 7 by 5 box? {}",
volume_fit(5, 7, 5, GeometricalVolumes::Parallelepiped, 1, 6, 7, 4)
);
}
And its output:
$ cargo run
false
true
false
true
$