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