Delete elements from array with given pos (2ways)

#include <stdio.h>


int main() {

  int size, i, pos, j;

  int arr[100];


  printf("Enter the size of the array: ");

  scanf("%d", &size);


  printf("Enter %d elements of the array: \n", size);

  for (i = 0; i < size; i++) {

    scanf("%d", &arr[i]);

  }


  printf("Enter the position of the element to be deleted: ");

  scanf("%d", &pos);


  for (i = pos - 1; i < size - 1; i++) {

    arr[i] = arr[i + 1];

  }


  size--;


  printf("Array after deleting element at position %d: \n", pos);

  for (i = 0; i < size; i++) {

    printf("%d ", arr[i]);

  }


  return 0;

}


                             (OR)


2nd Way

#include <stdio.h>

int main()
{
    int array[100], position, c, n;
    
    printf("Enter number of elements in array\n");
    scanf("%d", &n);
    
    printf("Enter %d elements\n", n);
    
    for ( c = 0 ; c < n ; c++ )
    scanf("%d", &array[c]);
    
    printf("Enter the location where you wish to delete element\n");
    scanf("%d", &position);
    
    if ( position >= n+1 )    
    printf("Deletion not possible.\n");
    
    else
    {    
        for ( c = position - 1 ; c < n - 1 ; c++ ) 
        array[c] = array[c+1];        
        
        printf("Resultant array is\n");
        
        for( c = 0 ; c < n - 1 ; c++ )        
        printf("%d\n", array[c]);        
    }    
    return 0;
}

Comments