Code:
#include<stdio.h>
#include<stdlib.h>
void fillArray ( int grades [] );
void printArray(int grades[]);
void bubbleSort(int grades []);
void binarySearch(int grades[]);
main()
{
int grades [100] ={0};
fillArray (grades);
bubbleSort(grades);
printArray(grades);
binarySearch(grades);
system("pause");
}
//-----------------------------------
void fillArray ( int grades [] )
{
int i;
for ( i= 0; i < 100;i++)
{
grades[i] = rand() % 100 + 1;
}
}
//--------------------------------------
void printArray(int grades[])
{
int i;
for(i =0;i < 100;i++)
{
printf("grade %d is %d\n",i,grades[i]);
}
}
//--------------------------------------------
void bubbleSort(int grades [])
{
int i, check, temp = 0;
for(i = 0; i <100; i++)
{ for(check = 0; check < 100-1; check++)
{ if(grades[check] > grades[check +1]){
temp = grades[check];
grades[check] = grades[check + 1];
grades[check + 1] = temp;
}
}
}
}
void binarySearch(int grades[])
{
int first,last,mid,found,target,i,before, after, locBefore, locAfter;
first = 0;
last = 100- 1;
printf("\n\tEnter a number: ");
scanf("%d", &target);
while(first <= last && found!=1 )
{
mid = (first + last)/2;
if(grades[mid] == target)
{
found = 1;
}
if(target > grades[mid])
first = mid+1;
else if (target < grades[mid])
last = mid - 1;
else
first = last +1;
}
if (found == 1)
{
printf("\n\n\t%d was found at location %d \n\n", grades[mid], mid);
}
else
{
printf("\n\t%d was not found at any of the array locations \n\n", target);
before = 0;
after = 100;
for(i = 0; i < 100; i++){
if(before < grades[i] && grades[i] < target ){
before = grades[i];
locBefore = i;
}
if(after > grades[i] && grades[i] > target ){
after = grades[i];
locAfter = i;
}
}
}
}
Code:
#include<stdio.h>
#include<stdlib.h>
void bubbleSort(int grades []);
void sequentialSearch(int grades []);
void printArray(int grades[]);
main()
{
int grades [5] ={40,20,80,60,100};
int i;
bubbleSort(grades);
printArray(grades);
sequentialSearch(grades);
system("pause");
}
//------------------------------------
void printArray(int grades[])
{
int
i;
for(i =0;i < 5;i++)
{
printf("grade %d is %d\n",i,grades[i]);
}
}
//-------------------------------------------
void bubbleSort(int grades [])
{
int i, check, temp = 0;
for(i = 0; i <5; i++)
{ for(check = 0; check < 5-1; check++)
{ if(grades[check] > grades[check +1]){
temp = grades[check];
grades[check] = grades[check + 1];
grades[check + 1] = temp;
}
}
}
}
//-----------------------------------------
void sequentialSearch(int grades [])
{
int i, query, result = -1;
printf("\nEnter a number: ");
scanf("%d", &query);
for(i = 0; i < 5; i++){
if (grades[i]== query)
{
result = i;
}
}
if(result!=-1)
printf("\n\n\t%d was found at location %i in the array.\n\n\n ",query, result);
else
{
printf("\n\n\t%d was not found in was not found at any of the array locations\n\n\n",query);
}
}