Showing posts with label CN GTU COMPUTER NETWORKS. Show all posts
Showing posts with label CN GTU COMPUTER NETWORKS. Show all posts

Friday, 26 January 2018

Write a program to implement distance vector routing.

#include<stdio.h>

int main()
{
 int A[12]={0,12,25,40,14,23,18,17,21,9,24,29};
 int B[12]={24,36,18,27,7,20,31,20,0,11,22,33};
 int C[12]={20,31,19,8,30,19,6,0,14,7,22,9};
 int D[12]={21,28,36,24,22,40,31,19,22,10,0,9};

 char str[12];
 //void sum(,;
 int q,t[4],z,s,zz=0;
 int j[13];
 int a=8,i=10,h=12,k=6;
 int min;
 for(z=0;z<12;z++)
 {
  j[9]=0;
  t[0]=A[z]+a;
  t[1]=B[z]+i;
  t[2]=C[z]+h;
  t[3]=D[z]+k;
  min=t[0];
  for(q=0;q<4;q++)
  {
   if(t[q]<min){
    min=t[q];
    s=q;
   }
  }
  if(s==0)
   {
    str[zz]='A';
    zz++;
   }else if(s==1)
   {
    str[zz]='I';
    zz++;
   }else if(s==2)
   {
    str[zz]='H';
    zz++;
   }else if(s==3)
   {
    str[z]='K';
    zz++;
   }
  str[9]='-';
  j[z]=min;
 }
 for(q=0;q<12;q++)
 {
  printf("%d  %c\n",j[q],str[q]);
 }
  return 0;
}

Write a program to implement shortest path routing. GTU

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<string.h>
#include<math.h>
#define IN 99
#define N 6
int dijkstra(int cost[][N], int source, int target);
int main()
{
    int cost[N][N],i,j,w,ch,co;
    int source, target,x,y;
    printf("\t The Shortest Path Algorithm ( DIJKSTRA'S ALGORITHM in C \n\n");
    for(i=1;i< N;i++)
    for(j=1;j< N;j++)
    cost[i][j] = IN;
    for(x=1;x< N;x++)
    {
        for(y=x+1;y< N;y++)
        {
            printf("Enter the weight of the path between nodes %d and %d: ",x,y);
            scanf("%d",&w);
            cost [x][y] = cost[y][x] = w;
        }
        printf("\n");
    }
    printf("\nEnter the source:");
    scanf("%d", &source);
    printf("\nEnter the target");
    scanf("%d", &target);
    co = dijsktra(cost,source,target);
    printf("\nThe Shortest Path: %d",co);
}
int dijsktra(int cost[][N],int source,int target)
{
    int dist[N],prev[N],selected[N]={0},i,m,min,start,d,j;
    char path[N];
    for(i=1;i< N;i++)
    {
        dist[i] = IN;
        prev[i] = -1;
    }
    start = source;
    selected[start]=1;
    dist[start] = 0;
    while(selected[target] ==0)
    {
        min = IN;
        m = 0;
        for(i=1;i< N;i++)
        {
            d = dist[start] +cost[start][i];
            if(d< dist[i]&&selected[i]==0)
            {
                dist[i] = d;
                prev[i] = start;
            }
            if(min>dist[i] && selected[i]==0)
            {
                min = dist[i];
                m = i;
            }
        }
        start = m;
        selected[start] = 1;
    }
    start = target;
    j = 0;
    while(start != -1)
    {
        path[j++] = start+65;
        start = prev[start];
    }
    path[j]='\0';
    strrev(path);
    printf("%s", path);
    return dist[target];
}

Write a program to implement checksum method. GTU

/*Write a program to implement Error detecting checksum method.*/
#include<stdio.h>
#include<string.h>
int decimal(int n1,int n2,int n3,int n4)
{
    return(n1*1+n2*2+n3*4+n4*8);
}
void receiver()
{
    printf("\t \t******RECEIVER****** \n");
    int i=0,n1=0,sum=0,d1,d2,d3,d4;
    char c;
    FILE *fp;
    fp=fopen("TEXT.txt","r");
    if(getc(fp)==EOF)
    {
        printf("\n***NO DATA SEND, SEND SOME DATA USING SENDER***\n");

    }
    else
    {
        fseek(fp,0l,0);
        int a[100],b[100];
        while((fscanf(fp,"%d",&a[i]))!=EOF)
        {

            printf("\n%d VALUE IS: %d",i+1,a[i]);
            sum=sum+a[i];
            i=i+1;
        }
        printf("\nSUM: %d\n",sum);
        while(sum>15)
        {
            while(sum!=0)
            {
                b[n1]=sum%2;
                sum=sum/2;
                n1++;
            }
            for(i=0;i<n1;i=i+4)
            {
                d1=b[i];
                if(i+1>=n1)
                {
                    d2=0,d3=0,d4=0;
                }
                else if(i+2>=n1)
                {
                    d2=b[i+1];
                    d3=0,d4=0;
                }
                else if(i+3>=n1)
                {
                    d2=b[i+1];
                    d3=b[i+2];
                    d4=0;
                }
                else
                {
                    d2=b[i+1];
                    d3=b[i+2];
                    d4=b[i+3];
                }

                sum=sum+decimal(d1,d2,d3,d4);

            }

        }
        printf("WRAP SUM : %d \n",sum);
        printf("CHECKSUM : %d \n",15-sum);

        if(15-sum==0)
        {
            printf("\n\n*****INPUT MESSAGE IS CORRECT*****\n");
        }
        else
        {
            printf("\n\n*****INPUT MESSAGE IS INCORRECT*****\n");
        }

    }
}
void sender()
{
    printf("\t \t******SENDER****** \n");
    int n,i,n1=0,sum=0,d1,d2,d3,d4;
    FILE *fp;
    fp=fopen("TEXT.txt","w");
    printf("ENTER THE NUMBER OF DIGITS YOU WANT TO SEND \n");
    scanf("%d",&n);
    int a[n],b[100];
    for(i=0;i<n;i++)
    {
        printf("\nENTER %d VALUE:",i+1);
        scanf("%d",&a[i]);
        fprintf(fp,"%d ",a[i]);
        sum=sum+a[i];
    }
    printf("\nSUM: %d\n",sum);
    while(sum>15)
    {
        while(sum!=0)
        {
            b[n1]=sum%2;
            sum=sum/2;
            n1++;
        }
        for(i=0;i<n1;i=i+4)
        {
            d1=b[i];
            if(i+1>=n1)
            {
                d2=0,d3=0,d4=0;
            }
            else if(i+2>=n1)
            {
                d2=b[i+1];
                d3=0,d4=0;
            }
            else if(i+3>=n1)
            {
                d2=b[i+1];
                d3=b[i+2];
                d4=0;
            }
            else
            {
                d2=b[i+1];
                d3=b[i+2];
                d4=b[i+3];
            }

            sum=sum+decimal(d1,d2,d3,d4);

        }

    }
    printf("WRAP SUM : %d \n",sum);
    printf("CHECKSUM : %d \n",15-sum);
    fprintf(fp,"%d",15-sum);
    fclose(fp);
}

main()
{
    int i;
    printf("1-SEND THE DATA 2-RECEIVE THE DATA");
    scanf("%d",&i);
    if(i==1)
    {
        sender();
    }
    else
    {
        receiver();
    }
}



Write a program to implement CRC Generator and checker. GTU

//receiver
#include<stdio.h>
#include<string.h>
main()
{
    FILE *fp;
    fp=fopen("TEXT.txt","r");
    char a[20],b[20];
    int i,j,l,l1;
    fscanf(fp,"%s",b);
    printf("RECEIVED BINARY DIGIT : ");
    fscanf(fp,"%s",a);
    printf("%s\n",a);
    printf("ENTERED DIVISOR:");
    printf("%s",b);
    l=strlen(a);
    l1=strlen(b);
    char r[l1],temp[l1];
    for(i=0;i<l1;i++)
    {
        temp[i]=a[i];
    }
    for(i=l1-1;i<l;i++)
    {
        if(temp[0]=='1')
        {
            for(j=0;j<l1;j++)
            {
                if(temp[j]==b[j])
                {
                    r[j]='0';
                }
                else
                {
                    r[j]='1';
                }
            }
        }
        else
        {
            for(j=0;j<l1;j++)
            {
                r[j]=temp[j];
            }
        }
        r[j]='\0';
        for(j=0;j<l1-1;j++)
        {
            temp[j]=r[j+1];
        }
        temp[j]=a[i+1];
        temp[j+1]='\0';
    }
    i=0;
    while(r[i]!='\0')
    {
        if(r[i]!='0')
        {
            printf("\n\t****RECEIVED BINARY DIGITS IS INCORRECT****");
            goto A;
        }
        i++;
    }
    printf("\n\t****RECEIVED BINARY DIGITS IS CORRECT****");
    printf("\n\nBINARY STRING IS: ");
    for(i=0;i<l-l1+1;i++)
    {
        printf("%c",a[i]);
    }
    A:
    fclose(fp);
}


//sender
#include<stdio.h>
#include<string.h>
main()
{
    FILE *fp;
    fp=fopen("TEXT.txt","w");
    char a[20],b[20];
    int i,j,l,l1;
    printf("ENTER THE BINARY DIGIT : ");
    scanf("%s",a);
    printf("ENTER DIVISOR:");
    scanf("%s",b);
    fprintf(fp,"%s ",b);
    l=strlen(a);
    l1=strlen(b);
    for(i=l;i<l+l1-1;i++)
    {
        a[i]='0';
    }
    char r[l1],temp[l1];
    for(i=0;i<l1;i++)
    {
        temp[i]=a[i];
    }
    for(i=l1-1;i<l+l1-1;i++)
    {
        if(temp[0]=='1')
        {
            for(j=0;j<l1;j++)
            {
                if(temp[j]==b[j])
                {
                    r[j]='0';
                }
                else
                {
                    r[j]='1';
                }
            }
        }
        else
        {
            for(j=0;j<l1;j++)
            {
                r[j]=temp[j];
            }
        }
        r[j]='\0';
        for(j=0;j<l1-1;j++)
        {
            temp[j]=r[j+1];
        }
        temp[j]=a[i+1];
    }
    j=1;
    for(i=l;i<l+l1-1;i++)
    {
        a[i]=r[j];
        j++;
    }
    a[i]='\0';
    printf("DATA SEND: %s",a);
    fprintf(fp,"%s",a);
    fclose(fp);
}

Write a program to implement Hamming Code. GTU

There Are two files:

//Receiver.c
#include<stdio.h>
int decimal(int n1,int n2,int n3)
{
    return(n1+n2*2+n3*4);
}
main()
{
    int b[7],i;
    FILE *fp;
    fp=fopen(".txt","r");
    for(i=0;i<7;i++)
    {
        fscanf(fp,"%d",&b[i]);
    }
    int s[3];
    s[0]=(b[3]+b[2]+b[1]+b[6])%2;
    s[1]=(b[0]+b[1]+b[2]+b[5])%2;
    s[2]=(b[0]+b[2]+b[3]+b[4])%2;
    switch(decimal(s[0],s[1],s[2]))
    {
        case 0:printf("\nNO ERROR");
               break;
        case 1:printf("\nERROR IN qo");
               break;
        case 2:printf("\nERROR IN q1");
               break;
        case 3:printf("\nERROR IN b2");
               break;
        case 4:printf("\nERROR IN q2");
               break;
        case 5:printf("\nERROR IN b0");
               break;
        case 6:printf("\nERROR IN b3");
               break;
        case 7:printf("\nERROR IN b1");
               break;
    }
}

//sender.c
#include<stdio.h>
main()
{
    char a[4];
    FILE *fp;
    fp=fopen(".txt","w");
    printf("\n ENTER BINARY STRING YOU WANT TO SEND: ");
    scanf("%s",a);
    int i,r[3];
    printf("%s",a);
    for(i=0;i<4;i++)
    {
        fprintf(fp,"%c ",a[i]);
    }

    r[0]=((int)(a[3]+a[2]+a[1]-'0'))%2;
    r[1]=((int)(a[0]+a[1]+a[2]-'0'))%2;
    r[2]=((int)(a[0]+a[2]+a[3]-'0'))%2;
    printf("");
    for(i=2;i>=0;i--)
    {
        printf("%d",r[i]);
        fprintf(fp,"%d ",r[i]);
    }
    fclose(fp);

}

Write a program to implement columnar transposition cipher. GTU

#include<stdio.h>

#include<string.h>

int main()
{
            char k[20]={'\0'},pt[30]={'\0'},key[30]={'\0'},mat[10][10]={'\0'},ct[30]={'\0'};
            int i=0,j=0,no[10]={0},ctr,z,c=0,a=0;
            printf("Enter the plaintext:\n");
            gets(pt);
            printf("Enter the key:\n");
            gets(k);
            strcpy(key,k);
            strcat(k,pt);
            strcpy(pt,k);
            printf("Enter the ordering starting from 0 to the (keylength-1):\n");

            for(i=0;i<strlen(key);i++)
            {

                        scanf("%d",&no[i]);
            }
            j=0;
            ctr=j;
            printf("The matrix is:\n");
            for(i=0;i<strlen(pt);i++)
            {
                        for(j=j;ctr<strlen(key);j++)
                        {
                                    if(pt[j]!='\0')
                                    {
                                                mat[i][ctr]=pt[j];
                                                printf("%c",mat[i][ctr]);
                                                ctr++;
                                    }
                                    else
                                    {
                                                goto out;
                                    }
                        }
                        ctr=0;
                        if(i==0) printf("\n");
                        printf("\n");
            }
            out:
            printf("\n\nThe Encrypted  text is:\n");
            for(i=0;i<strlen(key);i++)
            {
                        for(j=0;j<strlen(key);j++)
                        {
                                    if(no[i]==j)
                                    {
                                           for(z=1;z<10;z++)
                                           {
                                                            if(isalpha(mat[z][j]))
                                                            {
                                                            printf("%c",mat[z][j]);
                                                            ct[a]=mat[z][j];
                                                            a++;
                                                            }

                                           }
                                    }
                        }
            }
            printf("\n\nDecrypted Ciphertext is:\n");

            for(a=0;a<30;a++)
            {
            if(isalpha(ct[a]) || isspace(ct[a]))
            c++;
            }

            for(i=1;i<c;i++)
            {
                        for(j=0;j<strlen(key);j++)
                        {
                                    if(isalpha(mat[i][j]))
                                    printf("%c",mat[i][j]);
                                    else
                                    goto ext;
                        }
            }
            ext:
return 0;
}

Write a program to implement ceaser cipher. GTU

/*PROGRAM TO IMPLEMENT CEASER CIPHER*/
#include<stdio.h>
main()
{
    FILE *fp;
    char a[100];
    int c,i,x;
    fp=fopen("TEXT.txt","r");
    fscanf(fp,"%[^\n]s",a);
    printf("INPUT STRING IS %s \n \n",a);
    printf("ENTER YOUR CHOICE 1-ENCRYPTION 2-DECRYPTION : ");
    scanf("%d",&x);
    if(x==1)
    {
        printf("ENTER THE ENCRYPTION KEY : ");
        scanf("%d",&c);
        while(c>26)
        {
            c=c-26;
        }
        for(i=0;a[i]!='\0';i++)
        {

            if(a[i]>=96 && a[i]<=122)
            {
                while((a[i]+c)>'z')
                {
                    a[i]=a[i]-26;
                }
                a[i]=((a[i]+c));
            }
            else if(a[i]>=65 && a[i]<=90)
            {
                while((a[i]+c)>'Z')
                {
                    a[i]=a[i]-26;
                }
                a[i]=((a[i]+c));
            }
            else if(a[i]==' ')
            {
                a[i]=' ';
            }
        }
        printf("ENCRPTED STRING IS : %s",a);
    }
    else if(x==2)
    {
        printf("ENTER THE DECRYPTION KEY : ");
        scanf("%d",&c);
        while(c>26)
        {
            c=c-26;
        }
        for(i=0;a[i]!='\0';i++)
        {

            if(a[i]>=96 && a[i]<=122)
            {
                while((a[i]-c)<'a')
                {
                    a[i]=a[i]+26;
                }
                a[i]=((a[i]-c));
            }
            else if(a[i]>=65 && a[i]<=90)
            {
                while((a[i]-c)<'A')
                {
                    a[i]=a[i]+26;
                }
                a[i]=((a[i]-c));
            }
            else if(a[i]==' ')
            {
                a[i]=' ';
            }
        }
        printf("DECYPRTED STRING IS : %s",a);
        }
}

It's time To increase blogging capability. To have a chance to contribute in digital world. Any Interested People who want to make t...