1.
Program to find the second smallest element in an array
SOURCE CODE :
#include <stdio.h>
int main()
{
int n=0;
printf("Enter size of array : ");
scanf("%d",&n);
int smin=0,min=0,i=0,a[n],minIndex=0;
printf("Enter elements with a space : ");
scanf("%d",&a[0]);
min=a[0];
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]<min)
{
min=a[i];
minIndex=i;
}
}
if(minIndex!=0)
smin=a[0];
else
smin=a[1];
for(i=0;i<n;i++)
{
if(i!=minIndex)
{
if(smin>a[i])
smin=a[i];
}
}
printf("Second maximum number = %d",smin);
return 0;
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
2. Sort elements by frequency | Sorting elements of an array by frequency
SOURCE CODE :
#define MAX 100
#include <stdio.h>
struct nums{
int num;
int freq;
};
int findFreq(int arr[],int num,int n){
int freq=0;
for(int i=0;i<n;i++){
if(arr[i]==num){
freq++;
}
}
return freq;
}
int * nonRepeat(int arr[], int n){
static int arr2[MAX];
int p=0;
int flag=0;
for(int i=0;i<n;i++){
flag = 0;
for(int j=0; j<p;j++){
if(arr[i]==arr2[j]){
flag=1;
break;
}
}
if(flag==0){
arr2[p]=arr[i];
p++;
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
return arr2;
}
int main() {
struct nums freqs[MAX];
int arr[]={1,1,3,3,2,2,1,3,4,4,4,5,1};
int n=13,freq;
int * arr3=nonRepeat(arr,n);
int * temp1 = arr3;
int size=0;
while(*(temp1+size)!=NULL){
size++;
}
for(int i=0;i<size;i++){
freq = findFreq( arr,arr3[i],n);
freqs[i].num = arr3[i];
freqs[i].freq = freq;
printf("%d %d \n",freqs[i].num,freqs[i].freq);
}
struct nums temp;
for (int i = 0; i < size-1; i++)
for (int j = 0; j < size-i-1; j++)
if (freqs[j].freq > freqs[j+1].freq){
temp = freqs[j];
freqs[j] = freqs[j+1];
freqs[j+1] = temp;
}
printf("The Input array was-:\n");
for(int i=0;i<n;i++){
printf("%d ", arr[i]);
}
printf("\n");
printf("The sorted Elements in increasing freq are-:\n");
for(int i=0;i<size;i++){
arr3[i]=freqs[i].num;
printf("->%d", arr3[i]);
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
return 0;
}
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
2. Sort an Array According to the Order defined by Another array For example,
Array A [] = {3, 6, 13, 3, 9, 10, 14, 6, 9, 13}
Array B[] = {6, 3, 9, 13, 10}
Output: {6, 6, 3, 3, 9, 9, 13, 13, 10, 14}
SOURCE CODE :
#include <stdio.h>
int main()
{
int i=0,j=0,n=0,m=0;
printf("Enter the size of array 1 and array 2 : ");
scanf("%d %d",&n,&m);
int a[n];
printf("Enter the elements of array 1 : ");
for(i;i<n;i++)
scanf("%d",&a[i]);
int b[m];
printf("Enter the elements of array 2 : ");
for(i=0;i<m;i++)
scanf("%d",&b[i]);
int num=0,flag=1,k=0,t=0;
for(i=0;i<m;i++)
{
num=b[i];
for(j=0;j<n;j++)
{
if(a[j]==num)
{
t=a[j];
a[j] = a[k];
a[k] = t;
k++;
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
3. Program to find non repeating element in an array.
SOURCE CODE :
#include <stdio.h>
int main()
{
int n;
printf("Enter the size of array : ");
scanf("%d",&n);
int a[n],j,i,flag=0;
printf("Enter the elements of array : ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
flag=0;
for(j=0;j<n;j++)
{
if(j!=i)
{
if(a[i]==a[j])
{
flag=1;
break;
}
}
}
if(flag==0)
printf("Non repeating elements = %d \n",a[i]);
}
return 0;
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
5 Program to find repeating element in an array (duplicate elements)
SOURCE CODE :
#include <stdio.h>
int main() {
int n;
printf("Enter the size of array : ");
scanf("%d",&n);
int i,j,a[n],flag=0;
printf("Enter the elements of array : ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j]){
printf("Duplicate element = %d\n",a[i]);
flag++;
}
break;
}
}
if(flag==0)
printf("No duplicate elements");
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
6. Program to remove duplicate elements in an array
case 1: Remove duplicates from sorted array
Input: arr = {1, 2, 3, 4, 4}
Output: arr = {1, 2, 3, 4}
case 2: Remove duplicates from unsorted array
Input: arr = {9, 2, 7, 4, 7}
Output: arr = {9, 2, 7, 4}
SOURCE CODE :
#include <stdio.h>
int main()
{
int n;
printf("Enter the size of array : ");
scanf("%d",&n);
int a[n],i,j,k,t;
printf("Enter the elements of the array : ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j])
{
for(k=j;k<n;k++)
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
n--;
j--;
}
}
}
printf("Array after removing duplicate item : ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
return 0;}
OUTPUT :
CASE 1 :
CASE 2 :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
7. Rearrange positive and negative numbers in an array
Method 1 : This approach moves all negative numbers to the beginning and positive
numbers to the end but changes the order of appearance of the elements of the array.
Method 2 : In this approach, we separate the negative and positive numbers of the
array by maintaining the order of appearance of elements of the array
SOURCE CODE :
#include <stdio.h>
int main() {
int n;
printf("Enter the no of elements : ");
scanf("%d",&n);
int i,j,a[n],t;
printf("Enter the elements : ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
if(a[i]>0)
{
for(j=i+1;j<n;j++)
{
if(a[j]<0)
{
t=a[i];
a[i]=a[j];
a[j]=t;
break;
}
}
}
}
printf("Array after rearranging : ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
8. Program for array rotation Write a function rotate(ar[], d, n) that rotates arr[] of
size n by d elements.
SOURCE CODE :
#include <stdio.h>
void rotate(int ar[],int d,int n)
{
int i,t;
if(d>n)
d=d%n;
while(d)
{
for(i=0;i<n-1;i++)
{
if(i==0)
t=ar[i];
ar[i]=ar[i+1];
if(i==(n-2))
ar[i+1]=t;
}
d--;
}
printf("Array after the rotation : ");
for(i=0;i<n;i++)
printf("%d ",ar[i]);
}
int main()
{
int d,n;
printf("Enter the number of elements : ");
scanf("%d",&n);
int a[n],i;
printf("Enter the elements of array : ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C
printf("Number of the rotation of array : ");
scanf("%d",&d);
rotate(a,d,n);
return 0;
}
OUTPUT :
Harshit Chaturvedi 1018494/26 Sem-5/Sec-C