配列内の重複する数値を削除するCプログラムを作成する
重複する要素を含む配列に数値を入力できるようにします。
それでは、配列内の繰り返される数字や要素を削除して、重複のない一意の要素を持つ配列を作成するコードを書いてみましょう。
たとえば、
例を以下に説明します-
- ユーザー入力は12、30、12、45、67、30です。
- 出力は12、30、45、67です(重複を削除した後)。
プログラム
以下は、配列内の重複する番号を削除するCプログラムです。 −
#include <stdio.h>
#define MAX 100 // Maximum size of the array
int main(){
int array[MAX]; // Declares an array of size 100
int size;
int i, j, k; // Loop variables
/* Input size of the array */
printf("enter the size of array : ");
scanf("%d", &size);
/* Input elements in the array */
printf("Enter elements in an array : ");
for(i=0; i<size; i++){
scanf("%d", &array[i]);
}
/*find the duplicate elements in an array:
for(i=0; i<size; i++){
for(j=i+1; j<size; j++){
/* If any duplicate found */
if(array[i] == array[j]){
/* Delete the current duplicate element */
for(k=j; k<size; k++){
array[k] = array[k + 1];
}
/* Decrement size after removing duplicate element */
size--;
/* If shifting of elements occur then don't increment j */
j--;
}
}
}
printf("\nArray elements after deleting duplicates : ");/*print an array after deleting the duplicate elements.
for(i=0; i<size; i++){
printf("%d\t", array[i]);
}
return 0;
} 出力
出力は次のとおりです-
enter the size of array : 10 Enter elements in an array : 23 12 34 56 23 12 56 78 45 56 Array elements after deleting duplicates : 23 12 34 56 78 45
-
配列を逆にするCプログラムを書く
配列は、共通の名前で保存される関連アイテムのグループです。 構文 配列を宣言するための構文は次のとおりです- datatype array_name [size]; 初期化 配列は宣言時に初期化することもできます- int a[5] = { 10,20,30,40,50}; Cの逆配列 スワッピング手法を使用して配列を逆にすることができます。 たとえば、「P」が4つの要素を持つ整数の配列である場合- P[0] = 1, P[1] = 2, P[2] = 3 and P[3]=4 次に、反転した後- P[0] = 4, P[1] = 3, P[2] = 2 and P[3]=1
-
配列の重複要素を出力するPythonプログラム
配列の重複要素を出力する必要がある場合は、リスト要素が繰り返され、ネストされたループが使用されます。 以下は同じのデモンストレーションです- 例 my_list = [1, 2, 5, 6, 8, 9, 3, 4, 8, 9, 1, 8] print("The list is :") print(my_list) print("The duplicate elements in the list are : ") for i in range(0, len(my_list)): for j in range(i+1, len(