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");
}
50.1. C Programming code for Linear Search Algorithm.
void linsearch(int[],int);
int main()
{
int a[15],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]);
linsearch(a,n);
return 0;
}
void linsearch(int a[],int n)
{
int i,key;
printf("\n Enter key to be searched ");
fflush(stdin);
scanf("%d",&key);
for(i=0;i<n;i++)
{
if(a[i]==key)
{
printf("\n Element found at position = %d",i + 1);
break;
}
}
if(i==n)
printf("\n Element not found");
}
Saturday, April 17, 2021
Some awesome C Programming PDF books can be downloaded!
1. C The Complete
Reference 4th Edition by Herbert Schildt. >>Download
2. C Language Tutorial
by Gordon Dodrill, Coronado Enterprises.>>Download
3. TURBO C: Users
Guide IBM Version PC, AT, XT & True Compatibles.>>Download
4. The C Programming
Language 2nd Edition book by Brian Kernighan and Dennis Ritchie.>>Download
5. Expert C
Programming Deep C Secrets By Peter van der Linden.>>Download
6. Problem Solving in
Data Structures and Algorithms Using C First Edition by Hemant Jain.>>Download
7. Learn to Code with
C Program with the World most Popular Language on your Raspberry Pi written by
Simon Long.>>Download
8. C Programming-Absolute Beginner guide by Greg Perry and Dean
Miller.>>Download
Tuesday, April 13, 2021
20.59. Write a program that swaps two numbers.
#inctude<conio.h>
void swap(int *a, int *b)
{
int temp;
tamp=*a;
*a=*b;
*b=temp;
}
void main ()
{
int a,b;
clrscr();
printf("a= ") ;
scanf("%d", &a);
printf("b= ");
scanf("%d", &b);
swap (&a, &b) ;
printf("After swap: \n");
printf("a= %d\n", a);
printf("b= %d\n", b);
getch ();
}
20.58. Write a program that create, insert, and delete a two-way link list.
#include<conio.h>
include<stdlib.h>
struct node
{
int info;
struct node *next, *prev;
};
strict node *makenode (int n)
{
struct node t;
t=(struct node *)alloc(sizeof (struct node));
t->info=r;
t->next-NULL;
t->prev=NULL;
return t;
}
void makelist (struct node *list)
{
int i,n,num;
printf("How many node: "):
scanf ("%d", &n);
for (i=1; i<-n; i++)
{
scanf ("%d", &num);
list->next=makanode(num);
list->next->prev=list;
list=list->next;
}
}
void print list (struct node *list)
{
printf ("\list contains: \n");
while(list->rext!=NULL)
{
printf("%5d",list-next->info);
list=list->next;
}
}
int countlist (struct nede *list)
{
int count=0;
while (list->next!-NULL)
{
count++;
list=list->next;
}
return count;
}
void insert first (struct node *list)
{
int n;
struct node *t;
printf ("Enter any number to insert first: ";
scanf("%d", &n);
t=makenode(n);
list->next->prev=t;
t->prev=list;
t->next=list->next;
list->next=t;
}
void deletefirst (struct node *list)
{
struct node *t;
t=list->next->next;
free (list->next);
t->prev=list;
list->next=t;
}
void insert middle (struct node *list)
{
int i,n,count, p;
struct node *t;
count countlist(list);
printf("Enter any position to insert: ") ;
scanf ("%d", &p);
If (p<1 || p>count+1)
printf("Insert is impossible.");
else
{
for (i=1; i<p; i++)
printf("Enter any number to insert middle:”);
scanf ("%d", &n);
t=makenode(n);
list->next->prev=t;
t->prev=list;
t->next=list->next;
list->next=t;
}
}
void deletemiddle (struct node list)
{
struct node *t;
count count list (list);
printf("Enter any position to delete middle: ");
scanf("%d", &p);
If (p<1 || p>count)
printf("Delete is impossible.");
else
{
for (i=1; i<p; i++)
list=list->next;
t=list->next->ext;
free list->next);
t->prev=list;
list->next=t;
}
}
void insertlast (struct node *list)
{
int n;
struct node *t;
printf("Enter any number to insert last: ";
scanf ("%d",&n);
while (list->next!=NULL)
list-list->rext;
t->prev=list;
list->next=t;
}
void deletelast(struct node list)} 1
{
while (list->next->next!=NULL)
list=list->next;
free (list->next);
list->next=NULL;
}
void main ()
{
int n, choice;
struct node *list;
clrscr();
list=(struct node *)malloc(sizeof (struct nod makelist (1ist);
do
{
clrscr ():
print list (list);
printf("\r.Enter your cliocie from 1 to 7.");
printf("\r1. Insert First.");
printf("\r2. Insert Middle.");
printf("\r3. Insert Last.");
printf("\r4. Delete First.");
printf("\r5. Delete Middle.");
printf("\r6. Delete Last.");
printf("\r7. Exit\n");
scanf ("%d", &choice);
switch (chcice)
{
case 1:
insertfirst (list);
break;
case 2:
insertmiddle (list);
break:
case 3:
insertlast (list);
break;
case 4:
deletefirst (list):
break;
case 5:
deletemiddle (list);
break;
case 6:
deletelist (list);
break:
case 7:
printf("\nThe program is now exit.");
printf("\nPress any key to continue”);
break;
default:
printf("\nYour choice out of range. ");
printf("\nPlease try again.");
print list (list);
getch ();
}
while(choice! =7);
}
Monday, April 12, 2021
20.57. Write a program that create, insert, and delete a one-way link list.
#include<conio.h>
include<stdlib.h>
struct node
{
int info;
struct node *next;
};
struct node *makenode (int n)
{
struct node *t;
t=(struct node *) malloc(sizeof (struct node));
t->info=n;
t->next=NULL;
return t;
}
void makelist (struct node *list
{
int i, n, rum;
printf("How many node: ");
scanf ("%d", &n, ;
For (i=1; i<=n; i++)
{
scanf("%d",&num);
list->next=>namenode(num);
list=list->next;
}
}
void printlist (struct node *list)
{
printf("\nList contains: \n");
while (list->next!=NULL)
{
printf("%5d",list->next->info);
list=list->next;
}
}
int countlist(struct node *list)
{
int count=0;
while(list->next!=NULL)
{
count++;
list=list->next;
}
return count;
}
{
int n;
}
void deletefirst (struct node list)
{
struct node *t;
{
int n;
}
void deletelast (struct node list)
{
while (list->next->next!-NULL)
}
void insertmiddle (struct node *list)
{
int n,
scanf("%d", &p);
printf("Insert is impossible";
else
{
for (i=1; i<p; i++)
}
}
void delete middle (struct node *list)
{
int count, i,p;
struct node *t;
scanf("%d", &p);
printf("Celete is impossible"},
alse
{
for (i-1; i<p; 1++)
1ist=list->next;
t=list->next->next;
free (list->next);
list->next=t;
}
}
void main()
{
int n, choice;
makelist (list):
do
{
clrscr ():
printf("\r1. Insert First.");
printf("\r3. Insert Last.");
printf("\r4. Delete First.");
printf("\r5. Delete Middle.");
printf("\r6. Delete Last.");
printf("\r7. Exit\n");
scanf ("%d", &choice);
{
case 1:
insertfirst (list);
break;
case 2:
printf("\nPress any key to continue”);
printf("\nPlease try again.");
}
while(choice! =7);
}
20.56. Write a program that create a link list to store some double numbers.
#include<conio.h>
include<stdlib.h>
struct node
{
double info;
struct node *next;
};
struct node *makenode (double n)
{
struct node *t;
t=(struct node *) malloc(sizeof (struct node));
t->info=n;
t->next=NULL;
return t;
}
void makelist (struct node *list)
{
int i, n;
printf("How many node: ");
For (i=1; i<=n; i++)
{
scanf("%lf",&num);
list->next namenode (num);
list=list->next;
}
}
void printlist (struct node *list)
{
printf("\nList contains: \n");
while (list->next!=NULL)
{
printf("%lf",list->next->info);
list=list->next;
}
}
void main()
{
struct node *start;
start=(struct node *)malloc(sizeof (struct node));,
clrscr();
make list (start);
printlist (start);
getch ();
}
20.55. Write a program that create a link list to store some long numbers.
#include<conio.h>
include<stdlib.h>
struct node
{
long info;
struct node *next;
};
struct node *makenode (long n)
{
struct node *t;
t=(struct node *) malloc(sizeof (struct node));
t->info=n;
t->next=NULL;
return t;
}
void makelist (struct node *list)
{
int i, n;
printf("How many node: ");
For (i=1; i<=n; i++)
{
scanf("%ld",&num);
list->next namenode (num);
list=list->next;
}
}
void printlist (struct node *list)
{
printf("\nList contains: \n");
while (list->next!=NULL)
{
printf("%ld",list->next->info);
list=list->next;
}
}
void main()
{
struct node *start;
start=(struct node *)malloc(sizeof (struct node));,
clrscr();
make list (start);
printlist (start);
getch ();
}
20.54. Write a program that create a link list to store some character.
#include<conio.h>
include<stdlib.h>
struct node
{
char info;
struct node *next;
};
struct node *makenode (char n)
{
struct node *t;
t=(struct node *) malloc(sizeof (struct node));
t->info=n;
t->next=NULL;
return t;
}
void makelist (struct node *list
{
int i, n;
printf("How many node: ");
For (i=1; i<=n; i++)
{
scanf("%d",&num);
list->next namenode (num);
list=list->next;
}
}
void printlist (struct node *list)
{
printf("\nList contains: \n");
while (list->next!=NULL)
{
printf("%c",list->next->info);
list=list->next;
}
}
void main()
{
struct node *start;
start=(struct node *)malloc(sizeof (struct node));,
clrscr();
make list (start);
printlist (start);
getch ();
}
20.53. Write a program that create a link list to store some integer numbers.
#include<conio.h>
include<stdlib.h>
struct node
{
int info;
struct node *next;
};
struct node *makenode (int n)
{
struct node *t;
t= (struct node *) malloc(sizeof (struct node));
t->info=n;
t->next=NULL;
return t;
}
void makelist (struct node *list
{
int i, n, rum;
printf("How many node: "); scanf ("d", &n, ;
For (i=1; i<=n; i++)
{
scanf("%d",&num);
list->next namenode (num);
list=list->next;
}
}
void printlist (struct node *list)
{
printf("\nList contains: \n");
while (list->next!=NULL)
{
printf("%5d",list->next->info);
list=list->next;
}
}
void main()
{
struct node *start;
start= (struct node *)malloc(sizeof (struct node));,
clrscr();
make list (start);
printlist (start);
getch ();
}
Saturday, April 10, 2021
20.52. Write a program that read and display some students name, roll and mark.
#include<conio.h>
struct student
{
char name [30]
int roll,mark;
};
void main()
{
struct student *a;
int i,j,n;
printf("\How many student: ");
scanf("%d, &n);
{
scanf("%s,&(a+i)->name);
printf("Enter Roll: ");
scanf("%s,&(a+i)->roll);
printf("Enter Mark: ");
scanf("%s,&(a+i)->mark);
}
printf("\----- ----- -----");
for(i=0;i<n;i++)
getch();
}