# C PROGRAMS
Array Programs
➤ Find Length of Array
➤ How to Print an Array
➤ Sum of Array Elements
➤ Reverse an Array in C
➤ Copy an Array in C
➤ Merge Two Arrays in C
➤ Merge Two Sorted Arrays
➤ Count Repeated Elements
➤ Find Duplicate Elements
➤ Linear Search in C
➤ Binary Search in C
➤ Insert Element in Array
➤ Delete Element in Array
➤ Display odd-even in Array
➤ Sum & Count of Odd-Even
➤ Count +ve, -ve, & 0
➤ Sum of +ve, -ve Numbers
➤ Avg & Numbers > Avg
➤ Smallest & Largest Element
➤ 1st 2nd Max-Min
➤ Sort Array in C
➤ Search element in Array
➤ Search index of Nth times occurred element
➤ Matrix Programs
In the C programming language, we can copy an array using loops. For this first, we need to create an array of similar data types and sizes then perform the copy operation.
Example:-
Original array = {10, 20, 30, 40, 50};
Copied array = {10, 20, 30, 40, 50};
To create a copy of the array in C using loop,
1) Create a new array with a similar data type and size.
2) Use a loop to iterate through the original array.
3) Copy the ith element of the original array to the ith element of the new array.
Before creating a new array, first, calculate the size of the original array. The sizeof() function can be used to calculate the size of an array in C. Now, let us demonstrate the copy of the array using loops.
#include <stdio.h>
// function to copy an array
void copyArray(int arr[], int copy[], int size)
{
// loop to iterate through array
for (int i = 0; i < size; ++i)
{
copy[i] = arr[i];
}
}
// function to display an array
void displayArray(int arr[], int size)
{
for (int i = 0; i < size; i++) {
printf("%d ",arr[i]);
}
}
// main function
int main()
{
// original array
int arr[] = {10, 20, 30, 40, 50};
// calculate size
int size = sizeof(arr)/sizeof(arr[0]);
// create new array
int newArr[size];
// copy array
copyArray(arr, newArr, size);
// display array
printf("Original array = ");
displayArray(arr, size);
printf("\nCopied array = ");
displayArray(newArr, size);
return 0;
}
Output:-
Original array = 10 20 30 40 50
Copied array = 10 20 30 40 50
In the main method, we have taken an array with existing values. You can read input from the end-user. Later using the sizeof() function we calculated the size of the array. Now, create a new array of similar sizes and data types. After that, we had called the copyArray() method.
The copyArray() method of the above program takes both arrays and the size. Now, it is using the for loop to copy each element of the original array to the new array.
Finally, the displayArray() method is called which is used to display the given array. It is accepting the array and its size.
Note: Here each element of the original array is assigned to new array elements therefore whenever we change the content of the original array then-new array elements won’t be affected.
#include <stdio.h>
// main function
int main()
{
// original array
int arr[] = {10, 20, 30, 40, 50};
// calculate size
int size = sizeof(arr)/sizeof(arr[0]);
// create new array
int newArr[size];
// copy array
copyArray(arr, newArr, size);
// display array (Before Modification)
printf("Before Modification,");
// display array
printf("\nOriginal array = ");
displayArray(arr, size);
printf("\nCopied array = ");
displayArray(newArr, size);
// modify original array content
arr[0] = 99;
arr[1] = 88;
// display array (After Modification)
printf("\nAfter Modification,");
printf("\nOriginal array = ");
displayArray(arr, size);
printf("\nCopied array = ");
displayArray(newArr, size);
return 0;
}
Output:-
Before Modification,
Original array = 10 20 30 40 50
Copied array = 10 20 30 40 50
After Modification,
Original array = 99 88 30 40 50
Copied array = 10 20 30 40 50
If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!