fork download
  1. #include <stdio.h>
  2.  
  3. // Function to remove a given number of elements from an array
  4. void removeElements(int arr[], int *size, int position, int count) {
  5. // Validate position and count
  6. if (position < 0 || position >= *size || count < 0) {
  7. printf("Invalid position or count for removal.\n");
  8. return;
  9. }
  10.  
  11. // Adjust count if it exceeds the remaining elements
  12. if (position + count > *size) {
  13. count = *size - position;
  14. }
  15.  
  16. // Shift elements to the left to overwrite the removed elements
  17. for (int i = position; i < *size - count; i++) {
  18. arr[i] = arr[i + count];
  19. }
  20.  
  21. // Update the size of the array
  22. *size -= count;
  23. }
  24.  
  25. void printArray(int arr[], int size) {
  26. printf("Array: [ ");
  27. for (int i = 0; i < size; i++) {
  28. printf("%d ", arr[i]);
  29. }
  30. printf("]\n");
  31. }
  32.  
  33. int main() {
  34. int arr[] = {10, 20, 30, 40, 50, 60, 70, 80};
  35. int size = sizeof(arr) / sizeof(arr[0]);
  36.  
  37. printf("Original ");
  38. printArray(arr, size);
  39.  
  40. int position_to_remove = 2; // Index from where to start removing
  41. int number_of_elements_to_remove = 3; // Number of elements to remove
  42.  
  43. removeElements(arr, &size, position_to_remove, number_of_elements_to_remove);
  44.  
  45. printf("After removing %d elements from position %d: ", number_of_elements_to_remove, position_to_remove);
  46. printArray(arr, size);
  47.  
  48. // Example 2: Removing from the end
  49. int arr2[] = {1, 2, 3, 4, 5};
  50. int size2 = sizeof(arr2) / sizeof(arr2[0]);
  51.  
  52. printf("\nOriginal ");
  53. printArray(arr2, size2);
  54.  
  55. removeElements(arr2, &size2, 3, 2); // Remove 2 elements from index 3 (elements 4 and 5)
  56.  
  57. printf("After removing 2 elements from position 3: ");
  58. printArray(arr2, size2);
  59.  
  60. return 0;
  61. }
  62.  
Success #stdin #stdout 0.01s 5284KB
stdin
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
stdout
Original Array: [ 10 20 30 40 50 60 70 80 ]
After removing 3 elements from position 2: Array: [ 10 20 60 70 80 ]

Original Array: [ 1 2 3 4 5 ]
After removing 2 elements from position 3: Array: [ 1 2 3 ]