Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình kiểm tra xem bể nước có bị tràn khi nhúng n viên bi rắn vào trong bể nước hay không trong C ++

Cho với bán kính và chiều cao của bể nước hình trụ, 'n' số viên bi đặc hình cầu bằng bán kính và thể tích của nước trong bể và nhiệm vụ là kiểm tra xem khi nhúng các viên bi vào trong bể có bị tràn hay không. .

Công thức tính khối lượng

Xi lanh

3.14 * r * r * h

Trong đó, r là bán kính của bể và h là chiều cao của bể

Hình cầu

(4/3) * 3.14 * R * R * R

Trong đó, R là bán kính của quả cầu

Đầu vào

tank_height = 5
tank_radius = 2
water_volume = 10
capacity = 10
ball_radius = 2

Đầu ra

It will overflow

Phương pháp tiếp cận được sử dụng bên dưới như sau

  • Nhập các kích thước đã cho như bán kính bể, chiều cao bể, số lượng bi được nhúng và bán kính cắt

  • Tính dung tích (thể tích) của bể bằng cách áp dụng công thức

  • Tính thể tích của một hình cầu bằng cách áp dụng công thức của nó

  • Tính thể tích của một cốc nước vì thể tích sẽ tăng lên bất cứ khi nào quả cầu được nhúng vào bể nước.

  • Tính tổng thể tích bằng cách cộng thể tích nước và thể tích quả cầu

  • Kiểm tra tình trạng để biết liệu bể có bị tràn hay không

    • Nếu tổng thể tích lớn hơn dung tích bể sẽ tràn

    • Nếu tổng thể tích nhỏ hơn dung tích bể sẽ không bị tràn

Thuật toán

Step 1→ declare function to check whether tank will overflow or not
   void overflow(int H, int r, int h, int N, int R)
      declare float tank_cap = 3.14 * r * r * H
      declare float water_vol = 3.14 * r * r * h
      declare float balls_vol = N * (4 / 3) * 3.14 * R * R * R
      declare float vol = water_vol + balls_vol
      IF (vol > tank_cap)
         Print it will overflow
      End
      Else
         Print No it will not overflow
      End
Step 2→ In main()
   Declare int tank_height = 5, tank_radius = 2, water_volume = 10,
   capacity = 10, ball_radius = 2
   call overflow(tank_height, tank_radius, water_volume, capacity, ball_radius)

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//check whether tank will overflow or not
void overflow(int H, int r, int h, int N, int R){
   float tank_cap = 3.14 * r * r * H;
   float water_vol = 3.14 * r * r * h;
   float balls_vol = N * (4 / 3) * 3.14 * R * R * R;
   float vol = water_vol + balls_vol;
   if (vol > tank_cap){
      cout<<"it will overflow";
   }
   else{
      cout<<"No it will not overflow";
   }
}
int main(){
   int tank_height = 5, tank_radius = 2, water_volume = 10, capacity = 10, ball_radius = 2;
   overflow(tank_height, tank_radius, water_volume, capacity, ball_radius);
   return 0;
}

Đầu ra

Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

it will overflow