Professional Documents
Culture Documents
Daalc
Daalc
#include <stdio.h>
int main()
R.V.R. & J.C. College of Engineering, Guntur – 522019
(Autonomous)
{
int i, n, a[10], mi = 0, mx = 0;
printf("enter list size:");
scanf("%d", &n);
printf("enter list:");
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
mimx(a, 0, n - 1, &mi, &mx);
printf("min=%d max=%d\n", mi, mx);
}
2. Write a program to find the kth smallest element in a given array using
Divide and Conquer.
#include <stdio.h>
int partition(int a[], int l, int u)
{
int i = l, j = u, k = a[l], t;
while (i < j)
{
while (a[i] <= k && i <= u)
i++;
while (a[j] > k)
j--;
if (i < j)
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
a[l] = a[j];
a[j] = k;
return j;
}
#include <stdio.h>
void read(int a[], int n)
{
int i;
printf("enter elements: ");
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
}
void print(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d, ", a[i]);
printf("\n");
}
return pro;
}
void main()
{
int n, i, p[10], w[10];
float m;
printf("enter size: ");
scanf("%d", &n);
printf("enter profits 'sorted order('p/w')':");
read(p, n);
printf("enter weights:");
read(w, n);
printf("bag-size:");
scanf("%f", &m);
printf("profit:%.2f\n", Knapsack(p, w, n, m));
}
4. Write a program to find the minimum cost spanning tree for the given
graph. (Kruskal’s algorithm)
#include <stdio.h>
#include <stdlib.h>
struct edge
{
int v1, v2, w;
};
int p[20];
edge e[20];
R.V.R. & J.C. College of Engineering, Guntur – 522019
(Autonomous)
void init(int n)
{
for (int i = 1; i <= n; i++)
p[i] = -1;
}
int find(int i)
{
while (p[i] != -1)
i = p[i];
return i;
}
void sort(int m)
{
edge t;
for (int i = 1; i <= m; i++)
for (int j = 1; j <= m; j++)
if (e[i].w < e[j].w)
{
t = e[i];
e[i] = e[j];
e[j] = t;
}
}
void readedges(int m)
{
int i;
for (i = 1; i <= m; i++)
{
printf("Enter %d Edge details\n", i);
scanf("%d", &e[i].v1);
scanf("%d", &e[i].v2);
scanf("%d", &e[i].w);
}
}
R.V.R. & J.C. College of Engineering, Guntur – 522019
(Autonomous)
void main()
{
int n, m;
printf("enter no.of vertices:");
scanf("%d", &n);
printf("enter no.of edges:");
scanf("%d", &m);
readedges(m);
sort(m);
init(n);
kruskal(n, m);
R.V.R. & J.C. College of Engineering, Guntur – 522019
(Autonomous)
}
#include <stdio.h>
int main()
{
int cost[10][10], n, dist[10], i, j, v;
return 0;
}
7. Write a program to find shortest path distance between each and every
pair of vertices in a given graph using dynamic programming.
#include <stdio.h>
void main()
{
int i, j, k, min1, min2, a[10][10], cost[10][10], n;
printf("enter no.of vertices in the graph:");
scanf("%d", &n);
read(cost, n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
a[i][j] = cost[i][j];
for (k = 0; k < n; k++)
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
min1 = a[i][k] + a[k][j];
min2 = a[i][j];
a[i][j] = min1 <= min2 ? min1 : min2;
}
printf("all pairs shortest path:\n");
print(a, n);
}