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

Cの製品配列パズル?


配列は、同じデータ型の要素のコンテナーです。製品配列パズルでは、すべての要素の製品が見つかります。

この製品配列パズルでは、要素を除く配列のすべての要素の製品を見つける必要があります。条件は、除算演算子を使用できないことです。 これを別の配列に保存します。

これを解決するために、2つの製品を作成します。1つはすべての左側の要素用で、もう1つはすべての右側の要素用です。次に、この左右の商品を追加して、目的の商品を取得します。

#include<stdio.h>
#include<stdlib.h>
void productfind(int arr[], int n) {
   int *left = (int *)malloc(sizeof(int)*n);
   int *right = (int *)malloc(sizeof(int)*n);
   int *prod = (int *)malloc(sizeof(int)*n);
   int i, j;
   left[0] = 1;
   right[n-1] = 1;
   for(i = 1; i < n; i++)
      left[i] = arr[i-1]*left[i-1];
   for(j = n-2; j >=0; j--)
      right[j] = arr[j+1]*right[j+1];
   for (i = 0; i < n; i++)
      prod[i] = left[i] * right[i];
   for (i = 0; i < n; i++)
      printf("%d ", prod[i]);
   return;
}
int main() {
   int arr[] = {10, 3, 5, 6, 2};
   printf("The array is : \n");
   int n = sizeof(arr)/sizeof(arr[0]);
   for(int i = 0;i < n; i++){
      printf("%d ",arr[i]);
   }
   printf("The product array is: \n");
   productfind(arr, n);
}

出力

The array is :
10 3 5 6 2
The product array is:
180 600 360 300 900

  1. Cの配列内の範囲の積

    配列、L、R、Pを入力として指定し、タスクは、モジュロの下の積を出力としてLとRの間の範囲を見つけ、それを表示することです。 図に示されているように、要素の配列と、2としての左の値であるLと2としての右の値であるRがあります。ここで、プログラムはそれらの間の範囲の積を見つける必要があります。 例 Input-:  A[] = { 1, 2, 3, 4, 5, 6 }    P = 29  L = 2 R = 6 Output-: 24 Input-: A[] = {1, 2, 3, 4, 5, 6},    L =

  2. C++の配列内のすべての素数の積

    いくつかの要素を持つ整数配列arr[]が与えられた場合、タスクはその数のすべての素数の積を見つけることです。 素数は、1で割った数、またはその数自体です。または、素数は、1とその数自体を除いて他の数で割り切れない数です。 1、2、3、5、7、11など 与えられた配列の解を見つける必要があります- 入力 −arr [] ={11、20、31、4、5、6、70} 出力 − 1705 説明 −配列の素数は− 11、31、5であり、それらの積は1705 入力 − arr [] ={1、2、3、4、5、6、7} 出力 − 210 説明 −配列の素数は− 1、2、3、5、7