#include <stdio.h>
struct
MyStruct {
int
id;
char
name[50];
};
void
insertElement(
struct
MyStruct array[],
int
* size,
int
position,
struct
MyStruct newElement)
{
if
(position < 0 || position > *size) {
printf
(
"Invalid position for insertion.\n"
);
return
;
}
for
(
int
i = *size; i > position; i--) {
array[i] = array[i - 1];
}
array[position] = newElement;
(*size)++;
}
int
main()
{
struct
MyStruct myArray[100]
= { { 1,
"Geeks"
}, { 2,
"for"
}, { 3,
"Geeks"
} };
int
size = 3;
printf
(
"Original array:\n"
);
for
(
int
i = 0; i < size; i++) {
printf
(
"ID: %d, Name: %s\n"
, myArray[i].id,
myArray[i].name);
}
struct
MyStruct newElement = { 4,
"C++"
};
insertElement(myArray, &size, 1, newElement);
printf
(
"\nArray after insertion:\n"
);
for
(
int
i = 0; i < size; i++) {
printf
(
"ID: %d, Name: %s\n"
, myArray[i].id,
myArray[i].name);
}
return
0;
}