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

C言語で一時変数を使用せずに2つの配列を交換するにはどうすればよいですか?


Temp変数を使用せずに2つの配列を交換します。ここでは、3番目の変数の代わりに算術演算子とビット演算子を使用します。

最初の配列を読み取るロジック 次のとおりです-

printf("enter first array ele:\n");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}

2番目の配列を読み取るロジック 次のとおりです-

printf("enter first array ele:\n");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}

3番目の変数を使用せずに2つの配列を交換するロジック 次のとおりです-

for(i = 0; i < size; i++){
   first[i] = first[i] + sec[i];
   sec[i] = first[i] - sec[i];
   first[i] = first[i] - sec[i];
}

プログラム

以下は、Temp変数-

を使用せずに2つの配列を交換するCプログラムです。
#include<stdio.h>
int main(){
   int size, i, first[20], sec[20];
   printf("enter the size of array:");
   scanf("%d", &size);
   printf("enter first array ele:\n");
   for(i = 0; i < size; i++){
      scanf("%d", &first[i]);
   }
   printf("enter second array ele:\n");
   for(i = 0; i < size; i ++){
      scanf("%d", &sec[i]);
   }
   //Swapping two Arrays
   for(i = 0; i < size; i++){
      first[i] = first[i] + sec[i];
      sec[i] = first[i] - sec[i];
      first[i] = first[i] - sec[i];
   }
   printf("\n first array after swapping %d elements\n", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",first[i]);
   }
   printf("sec array after Swapping %d elements\n", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",sec[i]);
   }
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

enter the size of array:5
enter first array ele:
11 12 13 14 15
enter second array ele:
90 80 70 60 50
first array after swapping 5 elements
90 80 70 60 50
sec array after Swapping 5 elements
11 12 13 14 15

  1. C言語のポインタを使用して配列要素の合計を計算するにはどうすればよいですか?

    ポインタは、他の変数のアドレスを格納する変数です。 次のステートメントを検討してください- int qty = 179; ポインタの宣言 ポインタを宣言するための構文は次のとおりです- int *p; ここで、「p」は他の変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 たとえば、 int qty = 175; int *p; p= &qty; ポインタの配列 これは、アドレスのコレクション(または)ポインターのコレクションです。 宣言 以下は、ポインタの配列の宣言です- dataty

  2. C言語の線形検索を使用して配列内の最小要素を見つける方法は?

    Cプログラミング言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 Input (i/p): Unsorted list of elements, key. Output (o/p): 成功–キーが見つかった場合。 失敗–それ以外の場合。 例1 以下は、線形探索を使用して配列内の最小要素を見つけるCプログラムです- #include<stdio.h&