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

C言語で配列の全要素の積を求めるプログラム

n個の要素を含む配列 arr[n] が与えられたとき、その配列内のすべての要素の積を求めることが課題となります。

例えば、7つの要素からなる配列 arr[7] の場合、積は以下のように計算されます。

入力: arr[] = { 10, 20, 3, 4, 8 }
出力: 19200
説明: 10 × 20 × 3 × 4 × 8 = 19200

入力: arr[] = { 1, 2, 3, 4, 3, 2, 1 }
出力: 144

解き方のアプローチ

  • 配列を入力として受け取る。
  • 配列のサイズを求める。
  • 配列を反復処理しながら、各要素を掛け合わせる。
  • 結果を表示する。

アルゴリズム

開始
関数 int prod_arr(int arr[], int n) 内で
    ステップ1 → 変数 result を宣言し、1 で初期化する
    ステップ2 → i = 0 から i < n までループし、i をインクリメントする
        result = result * arr[i];
    ステップ3 → result を返す
int main()
    ステップ1 → 配列 arr[] を宣言する
    ステップ2 → 配列のサイズを格納する変数を宣言する
    ステップ3 → 結果を出力する

サンプルコード

#include <stdio.h>
int prod_arr(int arr[], int n) {
    int result = 1;
    // 各要素を掛け合わせ、result に格納します
    for (int i = 0; i < n; i++)
    result = result * arr[i];
    return result;
}
int main() {
    int arr[] = { 10, 20, 3, 4, 8 };
    int n = sizeof(arr) / sizeof(arr[0]);
    printf("%d", prod_arr(arr, n));
    return 0;
}

実行結果

上記のコードを実行すると、以下の出力が得られます。

19200

このプログラムでは、初期値を 1 とした変数 result を用意し、for ループで配列の先頭から末尾まで順番に各要素を掛けていくことで、全要素の積を効率的に求めています。配列のサイズは sizeof 演算子を使って自動的に計算しているため、要素数が変わってもコードを修正する必要がありません。

  1. 配列の全要素を乗算するC++プログラムの解説

    整数型の要素を持つ配列が与えられたとき、配列内のすべての要素を掛け合わせ、その積を表示することを考えます。本記事では、この問題をC++(C言語スタイルのコード)で解く方法を、アプローチ、アルゴリズム、サンプルコード、実行結果まで順を追って解説します。 例 入力: arr[]={1,2,3,4,5,6,7} 出力: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 入力: arr[]={3, 4, 6, 2, 7, 8, 4} 出力: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 解き方のアプローチ この問題は、累積用の一時変数を用意し、配列の要素を先頭

  2. Pythonでアナグラム部分文字列検索プログラムを作成する方法

    はじめに この記事では、以下の問題文に対する解決策について学びます。 問題文 − テキストとパターンが与えられたとき、テキスト内に含まれるパターンおよびその順列(アナグラム)の出現位置をすべて出力します。 例えば、テキストが「TUTORIALSPOINT」、パターンが「TOR」であれば、「ROT」や「OTR」といった並べ替えも検索対象となります。 アルゴリズムの考え方 この問題は、スライディングウィンドウ(滑動窓)と文字カウント配列を組み合わせることで効率的に解くことができます。手順は以下のとおりです。 パターン内の各文字の出現回数を、カウント配列 countP に記録します。 テキストの先