Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

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

You might also like