C言語で指定されたデータを削除の方法
C 言語で指定されたデータを削除するには、次の手順に従います
- 配列を走査して、削除するデータのインデックスを検索します。
- 削除するデータ以降のデータをすべて1つ前に詰めて、削除するデータ部分を上書きする。
- 配列のサイズを変更する.
配列内の特定のデータを削除する方法を示すサンプルコードを以下に示します。
#include <stdio.h>
void deleteElement(int arr[], int *size, int element) {
int i, j, found = 0;
for (i = 0; i < *size; i++) {
if (arr[i] == element) {
found = 1;
break;
}
}
if (found) {
for (j = i; j < *size - 1; j++) {
arr[j] = arr[j + 1];
}
(*size)--;
printf("Element %d deleted.\n", element);
} else {
printf("Element %d not found.\n", element);
}
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int size = 5;
int i, element;
printf("Enter element to delete: ");
scanf("%d", &element);
deleteElement(arr, &size, element);
printf("Updated array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
上記コードでは、まず削除するデータ element、整数配列 arr、整数ポインタ size を引数として受け取る deleteElement 関数を定義します。まず配列を走査して削除するデータがある位置を見つけ、削除するデータの後のデータをすべて1つ前に移動します。最後に、配列のサイズを更新し、削除後の配列を出力します。
mainの中で、5つの要素を含む配列を定義し、ユーザーから削除する要素を入力してもらいます。その後、deleteElement関数を呼び出して指定したデータを削除し、削除後の配列を出力します。
このコードは、配列から指定した要素が最初に発見されたもののみ削除することに注意してください。同じ要素が複数ある場合は、適切に変更を加える必要があります。