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

C言語を使用して要素のセット内の偶数と奇数を動的に検索する


問題

動的メモリ割り当て関数を使用して、一連の要素の偶数と奇数の合計を計算します。

解決策

このプログラムでは、一連の数字の中から偶数と奇数を見つけようとしています。

セット要素内の偶数を見つけるために使用されるロジックを以下に示します-

for(i=0;i<n;i++){
   if(*(p+i)%2==0) {//checking whether no is even or not
      even=even+*(p+i); //calculating sum of even all even numbers in a list
   }
}

セット要素内の奇数を見つけるために使用されるロジックを以下に示します-

for(i=0;i<n;i++){
   if(*(p+i)%2==0) {//checking number is even or odd
      even=even+*(p+i);
   }
   Else {//if number s odd enter into block
      odd=odd+*(p+i); //calculating sum of all odd numbers in a list
   }
}

#include<stdio.h>
#include<stdlib.h>
void main(){
   //Declaring variables, pointers//
   int i,n;
   int *p;
   int even=0,odd=0;
   //Declaring base address p using malloc//
   p=(int *)malloc(n*sizeof(int));
   //Reading number of elements//
   printf("Enter the number of elements : ");
   scanf("%d",&n);
   /*Printing O/p -
   We have to use if statement because we have to check if memory
   has been successfully allocated/reserved or not*/
   if (p==NULL){
      printf("Memory not available");
      exit(0);
   }
   //Storing elements into location using for loop//
   printf("The elements are : \n");
   for(i=0;i<n;i++){
      scanf("%d",p+i);
   }
   for(i=0;i<n;i++){
      if(*(p+i)%2==0){
         even=even+*(p+i);
      }
      else{
         odd=odd+*(p+i);
      }
   }
   printf("The sum of even numbers is : %d\n",even);
   printf("The sum of odd numbers is : %d\n",odd);
}

出力

Enter the number of elements : 5
The elements are :
34
23
12
11
45
The sum of even numbers is : 46
The sum of odd numbers is : 79

  1. C言語を使用したリンクリストへの要素の挿入について説明する

    リンクリストは動的メモリ割り当てを使用します。つまり、それに応じて拡大および縮小します。それらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクの2つの部分があります。データ、リンク、およびリンクリストの表現を以下に示します- リンクリストの操作 C言語のリンクリストには、次の3種類の操作があります- 挿入 削除 トラバース 挿入 ノード2とノード3の間にノード5を挿入する例を考えてみましょう。 ここで、最初にノード5を挿入します。 最後にノード5を挿入します。 最後にノード5を挿入します。 注: ノードに名前が付けられ

  2. C言語を使用して文字列を数値に変換し、数値を文字列に変換する

    問題 Cプログラミング言語での文字列から数値への変換および数値から文字列への変換とはどういう意味ですか? 解決策 変換に使用できる関数は2つあります。彼らは- sscanf()-文字列を数値に変換します sprintf()-数値を文字列に変換するために使用されます 文字列から数値への変換 sscanf()関数を使用して文字列を数値に変換できます- 構文 sscanf (string name, “control string”,variable list) 例 #include<stdio.h> main (){