Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมตรวจสอบถังน้ำล้นเมื่อจุ่มลูกบอลแข็งจำนวน n ลูกลงในถังเก็บน้ำใน C++


กำหนดด้วยรัศมีและความสูงของถังเก็บน้ำทรงกระบอก จำนวน 'n' ของลูกทรงกลมทึบที่มีรัศมีและปริมาตรของน้ำในถัง และงานคือ ตรวจสอบว่าถังจะล้นหรือไม่เมื่อจุ่มลูกบอลลงในถัง .

สูตรคำนวณปริมาตร

กระบอกสูบ

3.14 * r * r * h

โดยที่ r คือรัศมีของถังและ h คือความสูงของถัง

ทรงกลม

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

โดยที่ R คือรัศมีของลูกบอลทรงกลม

ป้อนข้อมูล

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

ผลผลิต

It will overflow

แนวทางที่ใช้ด้านล่างมีดังนี้

  • ใส่ขนาดที่กำหนด เช่น รัศมีของถัง ความสูงของถัง จำนวนลูกที่จะจุ่ม และรัศมีของแนวดิ่ง

  • คำนวณความจุ (ปริมาตร) ของถังโดยใช้สูตร

  • คำนวณปริมาตรของทรงกลมโดยใช้สูตร

  • คำนวณปริมาตรของน้ำเมื่อปริมาตรจะเพิ่มขึ้นเมื่อใดก็ตามที่ลูกบอลจุ่มลงในถังเก็บน้ำ

  • คำนวณปริมาตรทั้งหมดโดยบวกปริมาตรน้ำและปริมาตรของทรงกลม

  • ตรวจสอบสภาพว่าถังจะล้นหรือไม่

    • หากปริมาตรรวมมากกว่าความจุมากกว่าถังจะล้น

    • หากปริมาตรรวมน้อยกว่าความจุของถังจะไม่ล้น

อัลกอริทึม

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)

ตัวอย่าง

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

ผลลัพธ์

หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

It will overflow