displaying pattern
*
***
*****
*******
finding the minimum in an array
finding the maximum in an array
find all peak points in the array
printing the contents of the array in reverse order
reverse the contents of array
count the occurence of a specific value
merge two arrays together __arr = arr1 + arr2
find the second largest element in the array
union of two sorted arrays
#include <stdio.h>
#include <stdlib.h>
void findMinimum(int arr[],int n);
void findMaximum(int arr[],int n);
void findPeaks(int arr[],int n);
void printReverse(int arr[],int n);
void reverse1(int arr[],int n);
void reverse2(int arr[],int n);
void printArray(int arr[], int n);
void countOccurence(int arr[],int n,int val);
void merge(int arr1[],int n1,int arr2[], int n2);
void secondLargest(int arr[], int n);
int main()
{
int arr[10];
int i;
for(i=0;i<10;i++)
{
printf("Enter element %d: ",(i+1));
scanf("%d",&arr[i]);
}
//findMinimum(arr,10);
//findMaximum(arr,10);
//findPeaks(arr,10);
//printReverse(arr,10);
//reverse1(arr,10);
//reverse2(arr,10);
countOccurence(arr,10,5);
return 0;
}
void secondLargest(int arr[], int n)
{
int max = arr[0];
int min = arr[0];
int i;
for(i=1;i<n;i++)
{
if(arr[i]>max)
max=arr[i];
if(arr[i]<min)
min=arr[i];
}
int max2=min;
for(i=0;i<n;i++)
{
if(arr[i]!=max && arr[i]>max2)
{
max2=arr[i];
}
}
}
void merge(int arr1[],int n1,int arr2[], int n2)
{
int merge[n1+n2];
int i;
for(i=0;i<n1;i++)
{
merge[i]=arr1[i];
}
for(i=0;i<n2;i++)
{
merge[n1+i]=arr2[i];
}
}
void countOccurence(int arr[],int n, int val)
{
int i;
int counter=0;
for(i=0;i<n;i++)
{
if(arr[i]==val)
counter++;
}
printf("%d appears %d times in the array\n",val,counter);
}
void findMinimum(int arr[],int n)
{
int min = arr[0];
int minind = 0;
int i;
for(i=1;i<n;i++)
{
if(arr[i]<min)
{min=arr[i];
minind=i;}
}
printf("The min value is %d at index %d\n",min,minind);
}
void findMaximum(int arr[],int n)
{
int max = arr[0];
int maxind = 0;
int i;
for(i=1;i<n;i++)
{
if(arr[i]>max)
{max=arr[i];
maxind=i;}
}
printf("The max value is %d at index %d\n",max,maxind);
}
void findPeaks(int arr[],int n)
{
int i;
int peaks=0;
for(i=1;i<9;i++)
{
if(arr[i]>arr[i-1] && arr[i]>arr[i+1])
{
printf("The value %d at index %d is a peak\n",arr[i],i);
peaks++;
}
}
if(peaks==0)
printf("no peaks encountered");
}
void printReverse(int arr[],int n)
{
int i;
for(i=n-1;i>=0;i--)
{
printf("%d ",arr[i]);
}
}
void reverse1(int arr[],int n)
{
int revarr[n];
int i;
for(i=0;i<10;i++)
{
revarr[i]=arr[n-1-i];
}
printArray(revarr,10);
}
void reverse2(int arr[],int n)
{
/* arr[0]<=>arr[9]
arr[1]<=>arr[8]
arr[2]<=>arr[7]
arr[3]<=>arr[6]
arr[4]<=>arr[5]*/
int i,temp;
for(i=0;i<(n/2);i++)
{
temp = arr[i];
arr[i] = arr[n-1-i];
arr[n-1-i] = temp;
}
printArray(arr,10);
}
void printArray(int arr[], int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",arr[i]);
}