Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

トンネルを通過したボリュームの量を見つけるためのCプログラム


高さが41で、幅が非常に大きいトンネルがあるとします。長さ、幅、高さのボックスのリストもあります。ボックスの高さがトンネルの高さよりも正確に低い場合、ボックスはトンネルを通過できます。トンネルを通過するボリュームの量を見つける必要があります。ボリュームは長さ*幅*高さです。つまり、数値N、N行3列の2D配列があります。

したがって、入力がN =4ボックス=[[9,5,20]、[3,7,15]、[8,15,41]、[6,3,42]]の場合、出力は次のようになります。 900と315の場合、最初の2つのボックスを渡すことができ、ボリュームは9 * 5 * 20=900と3*7 * 15=315です。他のボックスの高さはサポートされていません。

これを解決するには、次の手順に従います-

  • ボックスのデータ型を長さ、幅、高さで定義する

  • 関数volume()を定義します。これはボックスを取ります

  • 戻り値box.length*box.width * box.height

  • 関数lower()を定義します。これはボックスを取ります

  • box.height<41の場合はtrueを返します。それ以外の場合はfalse

    を返します。
  • mainメソッドから、次の手順を実行します:、

  • 初期化i:=0の場合、i

    • lower(boxes [i])がtrueの場合、次のようになります。

      • 表示ボリューム(ボックス[i])

理解を深めるために、次の実装を見てみましょう-

#include <stdio.h>
#define N 4
struct Box{
    int length, width, height;
};
int volume(struct Box box){
    return box.length*box.width*box.height;
}
int lower(struct Box box){
    return box.height < 41;
}
int solve(struct Box boxes[]){
    for (int i = 0; i < N; i++)
        if (lower(boxes[i]))
            printf("%d\n", volume(boxes[i]));
}
int main(){
    struct Box boxes[N] = {{9,5,20},{3,7,15},{8,15,41},{6,3,42}};
   
    solve(boxes);
}

入力

4, {{9,5,20},{3,7,15},{8,15,41},{6,3,42}}

出力

900
315

  1. Pythonで最大の建物の高さを見つけるプログラム

    値nと、制限と呼ばれるペアの別のリストがあるとします。都市にn棟の新しい建物を建てたいと思っています。ただし、制限はほとんどありません。私たちは一列に建てることができ、建物には1からnまでのラベルが付けられています。制限には2つのパラメーターがあるため、restrictions [i] =(id_i、max_height_i)は、id_iの高さがmax_height_i以下でなければならないことを示します。新しい建物の高さに関する市の制限は次のとおりです- 各建物の高さは0または正の値である必要があります。 最初の建物の高さは0でなければなりません。 隣接する2つの建物の高さ

  2. Pythonのグリッドボックスのどこにボールが着地するかを見つけるプログラム

    m x nグリッドボックスが与えられたとします。各セルには、右上から左下、または左上から右下のいずれかに配置されたボードがあります。上のセルからボールがボックスに入れられ、そのボールがボックスの下部に到達するかどうかを確認する必要があります。グリッドはマトリックスとして与えられます。セルに1のマークが付いている場合、対角線上のボードは左上から右下に広がります。 -1とマークされている場合は、右上隅から左下隅にまたがっています。 n個のボールが箱に入れられた場合、底に到達するボールの数を調べる必要があります。 3x3グリッドボックスの例。 したがって、入力がmat =のような場合