Sunday, September 5, 2021

Main goal of our blog is to help college and university students who are newly admitted CSE, ICE and ICT related department. We think this blog will be helpful for students also who are studying SSC and HSC.

Sunday, August 15, 2021

50.10. Write a function that gets two integers and returns sum.

#include<stdio.h>

#include<conio.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); 
getch ();
}

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.

#include <stdio.h>
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;
}

Outpur:
1. Enter a number: 3
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.

#include<stdio.h>
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.

#include<stdio.h>
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.

#include <stdio.h>
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.

#include<stdio.h>
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.

#include<stdio.h>
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.

#include<stdio.h>
#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<stdio.h>
#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++) 
list=list->next;
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; 
int count, i,p;
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);
t=makenode (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<stdio.h>
#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;
}
void insertfirst (struct node *list)
{
int n;
struct node *t;
printf("\nEnter any number to insert first: ");
scanf ("%d", &n.);
t=makenocie (n);
t->next-list->next;
list->next=3t;
}
void deletefirst (struct node list)
{
struct node *t;
t=list->next->next;
free (list->next); 
list-next%3Dt%;
}
Void insertlast (st cuct node list)
{
int n;
struct node *t;
printf("\nEnter any number to insert last: ");
scanf ("%d", &r):
while (list->next!=NULL) List=list->next;
1ist->next-makenode (n);
}
void deletelast (struct node list)
{
while (list->next->next!-NULL) 
list=list->next; 
free(list->next);
list->next = NULL;
}
void insertmiddle (struct node *list)
{
int n, 
count,i,p; 
struct node t;
count->count list (list);
printf("\nEnter any position to insert: ");
scanf("%d", &p); 
if(p<1 11 p>count+1)
printf("Insert is impossible";
else
{
for (i=1; i<p; i++) 
1ist=list->next;
printf("after any number to insert middle”);
scanf ("%d", &n); 
t=make node (n);
t->next->list->next;
list->next=t;
}
}
void delete middle (struct node *list)
{
int count, i,p;
struct node *t;
Count=countiist (1ist);
printf("\nEnter any position to delete: ");
scanf("%d", &p); 
if (p<1 || p>count)
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;
struct node *list:
int=(struct node *) malloc(sizeof (struct node));
makelist (list):
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);
}




20.56. Write a program that create a link list to store some double numbers.

#include<stdio.h>
#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;
double num;
printf("How many node: "); 
scanf ("%d", &n, ;
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<stdio.h>
#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;
long num;
printf("How many node: "); 
scanf ("%d", &n, ;
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<stdio.h>
#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;
char num;
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("%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<stdio.h>
#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<stdio.h>
#include<conio.h>
#include<stdlib.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);
a=(struct *)malloc(sizeof(struct student)*n);
for(i=0;i<n;i++)
{
printf("Enter Name: ");
scanf("%s,&(a+i)->name);
printf("Enter Roll: ");
scanf("%s,&(a+i)->roll);
printf("Enter Mark: ");
scanf("%s,&(a+i)->mark);
}
printf("\name Roll Mark");
printf("\----- ----- -----");
for(i=0;i<n;i++)
printf("\n%-10s %4d %4d", (a+i)->name, (a+i)->roll, (a+i)->mark); 
getch();
}