ユーザーがポインターを使用して入力した配列型を検索するCプログラム。
問題
Cプログラムを作成して、配列内の特定の要素が偶数か奇数か、またはポインターを使用して両方の組み合わせであるかどうかを確認する必要のある配列型を見つけます。
解決策
ユーザーは整数の配列を入力してから、配列のタイプを表示する必要があります。
例1 −入力:5 3 1、出力:奇数配列
例2 −入力:2 4 6 8、出力:偶数配列
例3 −入力:1 2 3 4 5、出力:混合配列
アルゴリズム
ポインタを使用してユーザーが入力した配列タイプを見つけるには、以下のアルゴリズムを参照してください。
ステップ1:実行時にアレイのサイズを読み取ります。
ステップ2:配列要素を入力します。
ステップ3:ポインター変数を宣言します。
ステップ3:ポインター変数を使用して、配列のすべての要素が奇数かどうかを確認します。
次に、「奇数」を印刷します。
ステップ4:ポインター変数を使用して、配列のすべての要素が偶数であるかどうかを確認します。
次に、「Even」を印刷します。
ステップ5:それ以外の場合は、「混合」を印刷します。
例
以下は、ポインタを使用してユーザーが入力した配列タイプを検索するCプログラムです-
#include<stdio.h>
#include<stdlib.h>
int*createArray (int);
void readArray(int,int *);
int findType(int , int *);
int main(){
int *a,n,c=0,d=0;
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter the elements of array\n");
createArray(n);
readArray(n,a);
findType(n,a);
return 0;
}
int *createArray(int n){
int *a;
a=(int*)malloc(n*sizeof(int));
return a;
}
void readArray(int n,int *a){
for(int i=0;i<n;i++){
scanf("%d",a+i);
}}
int findType(int n, int *a){
int c=0,d=0;
for(int i=0;i<n;i++){
if(a[i]%2==0){
c++;
}
else{
d++;
}}
if(c==n){
printf("The array type is Even\n");
}
if(d==n){
printf("The array type is Odd\n");
}
if(c!=n && d!=n){
printf("The array type is Mixed\n");
}
return 0;
} 出力
上記のプログラムを実行すると、次の出力が生成されます-
Enter the size of array 4 Enter the elements of array 12 14 16 18 The array type is Even
-
C言語の線形検索を使用して配列内の最小要素を見つける方法は?
Cプログラミング言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 Input (i/p): Unsorted list of elements, key. Output (o/p): 成功–キーが見つかった場合。 失敗–それ以外の場合。 例1 以下は、線形探索を使用して配列内の最小要素を見つけるCプログラムです- #include<stdio.h&
-
配列の積のCプログラム
n個の要素の配列arr[n]が与えられた場合、タスクはその配列のすべての要素の積を見つけることです。 7つの要素の配列arr[7]があるように、その製品は次のようになります 例 Input: arr[] = { 10, 20, 3, 4, 8 } Output: 19200 Explanation: 10 x 20 x 3 x 4 x 8 = 19200 Input: arr[] = { 1, 2, 3, 4, 3, 2, 1 } Output: 144 以下で使用されるアプローチは次のとおりです − 配列入力を取得します。 そのサイズを見つけます。 配列を反復処理し、その配列の