C Programming Plus
www.cprogrammingplus.com
Pages
Sunday, September 5, 2021
Sunday, August 15, 2021
50.10. Write a function that gets two integers and returns sum.
#include<stdio.h>
int Sum(int a, int b)
int c;
c=a+b;
return c;
void main()
int x, y, s;
clrscr ();
printf ("Enter first number: ");
scanf("%d",&x):
printf ("Enter second number: ");
scanf ("&d", &y):
s=Sum(x, y);
printf ("Sum of %d and and is %d" is, x,y,s);
}
Tuesday, July 20, 2021
50.9. Write a program that displays first n prime numbers.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main ()
{
int m,n, i, j,isprime,t,count=0;
clrscr ();
printf("n=");
scanf(%d",&n);
for (i=2; count<n; i++)
{
isprime=1;
t=sqrt(i);
for(j=2;j<=t;j++)
if(i%j==0)
{
isprime==0;
break;
}
if (isprime==1)
{
printf("%d",i);
count++;
}
}
getch();
}
Monday, June 14, 2021
50.8. Program to calculate the sum and average of positive numbers.
int main()
{
const int maxInput = 100;
int i;
double number, average, sum = 0.0;
for (i = 1; i <= maxInput; ++i)
{
printf("%d. Enter a number: ", i);
scanf("%lf", &number);
if (number < 0.0)
{
goto jump;
}
sum += number;
}
jump:
average = sum / (i - 1);
printf("Sum = %.2f\n", sum);
printf("Average = %.2f", average);
return 0;
}
2. Enter a number: 4.3
3. Enter a number: 9.3
4. Enter a number: -2.9
Sum = 16.60
Average = 5.53
Saturday, May 8, 2021
50.7. C Programming code for Depth First Search (DFS) Algorithm.
#include<stdio.h>
void dfs(int source)
{
int curr,i = 1;
vis[source] = 1;
push(source);
printf("%d ",source);
while(!empty())
{
curr = top();
while(i<=g.n)
{
if(vis[i]==0 && g.adj_mat[curr][i]==1)
{
curr = i;
vis[curr] = 1;
push(curr);
printf("%d ",curr);
i=1;
continue;
}
i++;
}
i = pop();
i++;
}
}
50.6. C Programming code for Breadth First Search(BFS) Algorithm.
void bfs()
{
int curr = 1,i = 2;
vis[curr] = 1;
init();
enqueue(curr);
while(!isEmpty())
{
curr = dequeue();
printf("%d ",curr);
i = 1;
while(i<=n)
{
if(vis[i]==0 && adj_mat[curr][i]==1)
{
vis[i] = 1;
enqueue(i);
}
i++;
}
}
}
50.5. C Programming code for Prim's Algorithm.
void prim()
{
int curr,prev,total_min_cost = 0,i,j,min_cost;
curr = 1;
vis[1] = 1;
for(j=2;j<=n;j++)
{
cost[j] = cost_mat[1][j];
from[j]=1;
vis[j]=0;
}
for(i=1;i<n;i++)
{
min_cost = 999;
for(j=2;j<=n;j++)
{
if(vis[j]==0 && cost[j]<min_cost)
{
min_cost = cost[j];
curr = j;
}
}
prev= from[curr];
printf("\nEdge %d---%d Cost = %d",prev,curr,min_cost);
total_min_cost = total_min_cost + min_cost;
vis[curr]=1;
for(j=2;j<=n;j++)
{
if(vis[j]==0 && cost_mat[curr][j] < cost[j])
{
from[j] = curr;
cost[j] = cost_mat[curr][j];
}
}
}
printf("\n\nMin cost = %d",total_min_cost);
}
50.4. C Programming code for Djikstra Algorithm.
#include<stdio.h>
void djikstra()
{
int start,dest = n,min_cost,curr,i,j;
printf("\nEnter starting vertex ");
scanf("%d",&start);
vis[start]=1;
for(i=1;i<=n;i++)
{
if(i!=start)
{
vis[i]=0;
from[i]=start;
cost[i]=cost_mat[start][i];
}
}
for(i=1;i<n;i++)
{
min_cost = 999;
for(j=1;j<=n;j++)
{
if(vis[j]==0 && cost[j]<min_cost)
{
min_cost = cost[j];
curr = j;
}
}
vis[curr]=1;
if(curr==dest)
break;
for(j=1;j<=n;j++)
{
if(vis[j]==0 && (cost_mat[curr][j]+min_cost) < cost[j])
{
from[j] = curr;
cost[j] = cost_mat[curr][j]+min_cost;
}
}
}
printpath(start,dest);
printf("\nMin cost = %d",cost[dest]);
}
void printpath(int start,int dest)
{
if(dest==start)
{
printf("%d ",start);
return;
}
printpath(start,from[dest]);
printf("%d ",dest);
}
50.3. C Programming code for Quick sort Algorithm.
void quicksort(int arr[],int low,int high)
main()
{
int m;
if(low<high)
{
m=partition(arr,low,high);
quicksort(arr,low,m-1);
quicksort(arr,m+1,high);
}
}
int partition(int arr[],int low,int high)
{
int pivot=arr[low],i=low,j=high;
while(i<j)
{
while((arr[i]<=pivot)&&(i<=high))
i++;
while(arr[j]>pivot)
j--;
if(i<j)
swap(arr,i,j);
}
swap(arr,low,j);
return j;
}
50.2. C Programming code for Binary Search Algorithm.
void binsearch(int[],int);
int main()
{
int a[15],pos,n,i;
printf("\n Enter no of elements ");
scanf("%d",&n);
printf("\n Enter elements ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
binsearch(a,n);
return 0;
}
void binsearch(int a[],int n)
{
int low = 0 , high = n-1 , key , mid = (low + high)/2 ,comp = 1;
printf("\n Enter key to be searched ");
fflush(stdin);
scanf("%d",&key);
while(low<=high && key != a[mid])
{
comp++;
if(key<a[mid])
high = mid - 1;
else
low = mid + 1;
mid = (low + high)/2;
}
if(a[mid]==key)
{
printf("\n Element found at position = %d",mid + 1);
printf("\n Comparisons = %d",comp);
}
else
printf("\n Element not found");
}