Week 1 programs for performing read, write, search, insertion and deletion operations on arrays

Source Code

#include <stdio.h>

int A[10];
int N, i, lb = 0, ub;

void writeArray() {
	printf("\\nWriting\\n");
	printf("Enter the number of elements you wish to have in the array (maximum 10): ");
	scanf("%d", &N);
	if (N <= 10) {
		ub = N-1;
		for (i = 0; i <= ub; i++) {
			printf("Enter element %d: ", (i+1));
			scanf("%d", &A[i]);
		}
		printf("\\nArray written\\n\\n");
	}
	else {
		printf("Desired length exceeded 10. Try again.");
	}
}

void readArray() {
	printf("\\nReading\\n");

	if (ub > 0) {
		printf("Array: ");
		for (i = 0; i <= ub; i++) {
			printf("%d\\t", A[i]);
		}

		printf("\\nArray printed\\n\\n");
	}
	else {
		printf("\\nEmpty array\\n\\n");
	}

}

void insertElement() {
	if (ub < 9) {
		printf("\\nInsert an element\\n");

		int input;
		printf("Enter 1 to insert element at the beginning of the array\\nEnter 2 to insert element in the middle of the array\\nEnter 3 to insert element at the end of the array\\n\\n");
		printf("Enter command: ");
		scanf("%d", &input);
		
		int insert;
		switch(input) {
			case(1):
				printf("Inserting element at the start\\n");
				printf("Enter the element you wish to insert: ");
				scanf("%d", &insert);
				for (i = (ub+1); i > 0; i--) {
					A[i] = A[i-1];
				}
				A[0] = insert;
				break;

			case(2):
				printf("Inserting element in the middle\\n");
				printf("Enter the element you wish to insert: ");
				scanf("%d", &insert);
				int index;
				printf("Enter the index where you wish to insert: ");
				scanf("%d", &index);
				if (lb <= index <= ub) {
					for (i = (ub+1); i > index; i--) {
						A[i] = A[i-1];
					}
					A[index] = insert;
				}
				else {
					printf("Index out out range");
				}
				break;

			case(3): 
				printf("Inserting element at the end\\n");
				printf("Enter the element you wish to insert: ");
				scanf("%d", &insert);
				A[ub+1] = insert;
				break;
		}

		ub += 1;
		printf("\\nElement inserted\\n\\n");
	}
	else {
		printf("\\nThe array is already full, kindly consider a deletion operation before inserting another element.\\n");
	}
}

void deleteElement() {
	printf("\\nDelete an element\\n");

	int input;
	printf("Enter 1 to delete element from the beginning of the array\\nEnter 2 to delete element from the middle of the array\\nEnter 3 to delete element from the end of the array\\n\\n");
	printf("Enter command: ");
	scanf("%d", &input);
	
	switch(input) {
		case(1):
			printf("Deleting element from the start\\n");
			for (i = 0; i < ub; i++) {
				A[i] = A[i+1];
			}
			break;

		case(2):
			printf("Deleting element fromt the middle\\n");
			int index;
			printf("Enter the index which you wish to delete: ");
			scanf("%d", &index);
			if (lb <= index <= ub) {
				for (i = index; i < ub; i++) {
					A[i] = A[i+1];
				}
			}
			else {
				printf("Index out out range");
			}
			break;

		case(3): 
			printf("Deleting element from the end\\n");
			break;
	}

	ub -= 1;
	printf("\\nElement deleted\\n\\n");
}

void searchArray() {
	printf("\\nSearching for an element\\n");

	int element, index = -1;
	printf("Enter the element you wish to find: ");
	scanf("%d", &element);

	for (i = 0; i <= ub; i++) {
		if (A[i] == element) {
			index = i;
			break;
		} 
	}
	if (index != -1) {
		printf("\\nElement found at the index: %d\\n", index);
	}
	else {
		printf("\\nElement not found in the array\\n\\n");
	}
}

void userChoice() {    
	int input;
	printf("Enter 1 to write the array\\nEnter 2 to read the array\\nEnter 3 to insert an element\\nEnter 4 to delete an element\\nEnter 5 to search for an element\\nEnter 6 to terminate the program\\n\\n");
	printf("Enter command: ");
	scanf("%d", &input);
	
	switch(input) {
	   case(1):
	        printf("Writing the array\\n");
	        writeArray();
			userChoice();
			break;
	   case(2):
			printf("Reading the array\\n");
			readArray();
			userChoice();
			break;
		case(3):
			printf("Inserting an element\\n");
			insertElement();
			userChoice();
			break;
		case(4):
			printf("Deleting an element\\n");
			deleteElement();
			userChoice();
			break;
		case(5):
			printf("Search for an element\\n");
			searchArray();
			userChoice();
			break;
	   case(6):
			printf("Terminating Program\\n");
			break;
	}
}

int main() {
	printf("\\n================ Array Operations ================\\n\\n");

	userChoice();

	return(0);
}

Code Output

================ Array Operations ================

Enter 1 to write the array
Enter 2 to read the array
Enter 3 to insert an element
Enter 4 to delete an element
Enter 5 to search for an element
Enter 6 to terminate the program

Enter command: 1
Writing the array

Writing
Enter the number of elements you wish to have in the array (maximum 10): 4
Enter element 1: 7567
Enter element 2: 253
Enter element 3: 2342
Enter element 4: 788
Array written

Enter 1 to write the array
Enter 2 to read the array
Enter 3 to insert an element
Enter 4 to delete an element
Enter 5 to search for an element
Enter 6 to terminate the program

Enter command: 2
Reading the array

Reading
Array: 7567	253	2342	788	
Array printed

Enter 1 to write the array
Enter 2 to read the array
Enter 3 to insert an element
Enter 4 to delete an element
Enter 5 to search for an element
Enter 6 to terminate the program

Enter command: