Friday, August 29, 2014

UVa Solution 10714 - Ants

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main()
{
    int test, len, num, pos, min, max, sub;
    scanf("%d", &test);
    while(test--)
    {
        scanf("%d%d", &len, &num);
        min = max = 0;
        while(num--)
        {
            scanf("%d", &pos);
            sub = (len-pos);
            if(sub>=pos)
            {
                if(max<sub)
                {
                    max=sub;
                }
                if(min<pos)
                {
                    min=pos;
                }
            }
            if(sub<pos)
            {
                if(max<pos)
                {
                    max=pos;
                }
                if(min<sub)
                {
                    min=sub;
                }
            }
        }
        printf("%d %d\n", min, max);
    }
    return 0;
}


Friday, August 22, 2014

C/C++ Code for Ternary Search

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;


int main()
{
    int i, n, val, low, high, mid1, mid2, a[50];
    printf("Enter the size of an array : ");
    scanf("%d", &n);
    printf("Enter the elements : ");

    for(i=0; i<n; i++)
    {
        scanf("%d", &a[i]);
    }
    sort(a, a+n);
    printf("The sorted array is : ");
    for(i=0; i<n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");

    printf("Enter the element which you want to search : ");
    scanf("%d", &val);
    low=0;
    high=n-1;

    while(low<=high)
    {
        mid1=((low+high)/2);
        mid2=(mid1*2);

        if(val==a[mid1])
        {
            printf("Position is : %d.\n", mid1+1);
            break;
        }
        else if(a[mid1]>val)
        {
            high=mid1-1;
        }
        else if(val==a[mid2])
        {
            printf("Position is : %d.\n", mid2+1);
            break;
        }
        else if(a[mid2]<val)
        {
             low=mid2+1;
        }
        else
        {
            low=mid1+1;
            high=mid2-1;
        }
    }
    return 0;
}

C/C++ Code for Finite State Machines (Finite Automata and String Matching)

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

void Divisible_By_Three()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=0;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=1;
            }
            else if(c=='1')
            {
                s=2;
            }
        }
    }
    if(s==0)
    {
        cout << "Divisible by 3" << endl;
    }
    else
    {
        cout<< "Not Divisible by 3" << endl;
    }
    cout << "Enter your Divisor: ";
}


void Divisible_By_Four()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }

        else if(s==3)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
    }
    if(s==0)
    {
        cout << "Divisible by 4" << endl;
    }
    else
    {
        cout<< "Not Divisible by 4" << endl;
    }
    cout << "Enter your Divisor: ";
}

void Divisible_By_Five()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=0;
            }
        }
        else if(s==3)
        {
            if(c=='0')
            {
                s=1;
            }
            else if(c=='1')
            {
                s=2;
            }
        }
        else if(s==4)
        {
            if(c=='0')
            {
                s=3;
            }
            else if(c=='1')
            {
                s=4;
            }
        }
    }
    if(s==0)
    {
        cout << "Divisible by 5" << endl;
    }
    else
    {
        cout<< "Not Divisible by 5" << endl;
    }
    cout << "Enter your Divisor: ";
}

void Divisible_By_Six()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=5;
            }
        }
        else if(s==3)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==4)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==5)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=5;
            }
        }
    }
    if(s==0)
    {
        cout << "Divisible by 6" << endl;
    }
    else
    {
        cout<< "Not Divisible by 6" << endl;
    }
    cout << "Enter your Divisor: ";
}

void Divisible_By_Seven()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=5;
            }
        }
        else if(s==3)
        {
            if(c=='0')
            {
                s=6;
            }
            else if(c=='1')
            {
                s=0;
            }
        }
        else if(s==4)
        {
            if(c=='0')
            {
                s=1;
            }
            else if(c=='1')
            {
                s=2;
            }
        }
        else if(s==5)
        {
            if(c=='0')
            {
                s=3;
            }
            else if(c=='1')
            {
                s=4;
            }
        }
        else if(s==6)
        {
            if(c=='0')
            {
                s=5;
            }
            else if(c=='1')
            {
                s=6;
            }
        }
    }
    if(s==0)
    {
        cout << "Divisible by 7" << endl;
    }
    else
    {
        cout<< "Not Divisible by 7" << endl;
    }
    cout << "Enter your Divisor: ";
}

void Divisible_By_Eight()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=5;
            }
        }
        else if(s==3)
        {
            if(c=='0')
            {
                s=6;
            }
            else if(c=='1')
            {
                s=7;
            }
        }
        else if(s==4)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==5)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==6)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=5;
            }
        }
        else if(s==7)
        {
            if(c=='0')
            {
                s=6;
            }
            else if(c=='1')
            {
                s=7;
            }
        }
    }
      if(s==0)
    {
        cout << "Divisible by 8" << endl;
    }
    else
    {
        cout<< "Not Divisible by 8" << endl;
    }
    cout << "Enter your Divisor: ";
}

void Divisible_By_Nine()
{
    char c;
    int s=0;
    cout << "Enter Your string : ";
    while(cin.get(c))
    {
        if(c=='\n')
        {
            break;
        }
        if(s==0)
        {
            if(c=='0')
            {
                s=0;
            }
            else if(c=='1')
            {
                s=1;
            }
        }
        else if(s==1)
        {
            if(c=='0')
            {
                s=2;
            }
            else if(c=='1')
            {
                s=3;
            }
        }
        else if(s==2)
        {
            if(c=='0')
            {
                s=4;
            }
            else if(c=='1')
            {
                s=5;
            }
        }
        else if(s==3)
        {
            if(c=='0')
            {
                s=6;
            }
            else if(c=='1')
            {
                s=7;
            }
        }
        else if(s==4)
        {
            if(c=='0')
            {
                s=8;
            }
            else if(c=='1')
            {
                s=0;
            }
        }
         else if(s==5)
        {
            if(c=='0')
            {
                s=1;
            }
            else if(c=='1')
            {
                s=2;
            }
        }
         else if(s==6)
        {
            if(c=='0')
            {
                s=3;
            }
            else if(c=='1')
            {
                s=4;
            }
        }
        else if(s==7)
        {
            if(c=='0')
            {
                s=5;
            }
            else if(c=='1')
            {
                s=6;
            }
        }
        else if(s==8)
        {
            if(c=='0')
            {
                s=7;
            }
            else if(c=='1')
            {
                s=8;
            }
        }
    }
    if(s==0)
    {
        cout << "Divisible by 9" << endl;
    }
    else
    {
        cout<< "Not Divisible by 9" << endl;
    }
    cout << "Enter your Divisor: ";
}

int main()
{
    int div;
    cout << "Enter your divisor : ";
    while(cin >> div)
    {
        if(div<3 || div>9)
        {
            cout << "Conditon is Not Found!!!" << endl;
            break;
        }
        if(div==3)
        {
            cin.ignore();
            Divisible_By_Three();
        }
        if(div==4)
        {
            cin.ignore();
            Divisible_By_Four();
        }
        if(div==5)
        {
            cin.ignore();
            Divisible_By_Five();
        }
        if(div==6)
        {
            cin.ignore();
            Divisible_By_Six();
        }
        if(div==7)
        {
            cin.ignore();
            Divisible_By_Seven();
        }
        if(div==8)
        {
            cin.ignore();
            Divisible_By_Eight();
        }
        if(div==9)
        {
            cin.ignore();
            Divisible_By_Nine();
        }
    }
    return 0;
}



C Code for Newton's Forward Difference Interpolation

#include<stdio.h>
#include<math.h>
int main()
{
  float x[25], y[25], ques, ans, a, b, h;
  int i, j , num;

  printf("Enter the Number of elements:");
  scanf("%d",&num);
  printf("Enter the elements of x:");
  for(i=1 ;i<=num; i++)
   {
        scanf("%f",&x[i]);
   }
   printf("Enter the elements of y:");
   for(i=1;i<=num;i++)
   {
    scanf("%f",&y[i]);
   }

  h=x[2]-x[1];
  printf("Enter the value you want to find: ");
  scanf("%f", &ques);
  a=(ques-x[1])/h;
  b=1;
  ans=y[1];

    for(i=1; i<=(num-1); i++)
    {
       for(j=1; j<=(num-i); j++)
        {
              y[j]=y[j+1]-y[j];
        }
        b=b*(a-i+1)/i;
        ans=ans+b*y[1];
    }
   printf("Answer is %6.5f", ans);
   return 0;
}

C Code for Lagrange's Interpolation Formula

#include<stdio.h>
#include<math.h>

int main()
{
  float x[10],y[10], temp, ans[10], sum, point;
  int i,j,k=0,num;

  printf("Enter your points : ");
  scanf("%d",&num);

  for(i=0; i<num; i++)
  {
    printf("x%d is: ", i);
    scanf("%f",&x[i]);
    printf("y%d is: ", i);
    scanf("%f",&y[i]);
  }

  printf("Enter your interpolation number: ");
  scanf("%f",&point);

  for(i=0;i<num;i++)
  {
    temp = 1;
    k = i;
    for(j=0;j<num;j++)
    {
      if(k==j)
      {
        continue;
      }
      else
      {
        temp = temp * ((point-x[j])/(x[k]-x[j]));
      }
    }
    ans[i]=y[i]*temp;
  }

  for(i=0;i<num;i++)
  {
     sum = sum + ans[i];
  }

  printf("f(%.1f) = %f ", point, sum);
  return 0;
}

Monday, June 9, 2014

UVa Solution 900 - Brick Wall Patterns

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long a[105], i;

void fib()
{
    a[0]=1;
    a[1]=1;
    for(i=2; i<51; i++)
    {
        a[i]= a[i-1]+a[i-2];
    }
    return;
}

int main()
{
    fib();
    long long n;
    while(scanf("%lld", &n)==1)
    {
        if(n==0)
        {
            break;
        }
        printf("%lld\n", a[n]);
    }
    return 0;
}

UVa Solution 11715 - Car

#include<iostream>
#include<cstdio>
#include<cmath>
int main()
{
    double u, v, s, t, a;
    int test=1, n;
    while(scanf("%d", &n)==1)
    {
        if(n==0)
        {
            break;
        }
        if(n==1)
        {
            scanf("%lf%lf%lf", &u, &v, &t);
            s=(u+v)*t/2;
            a=(v-u)/t;
            printf("Case %d: %0.3lf %0.3lf\n", test, s, a);
        }
        else if(n==2)
        {
            scanf("%lf%lf%lf", &u, &v, &a);
            t=(v-u)/a;
            s=(u+v)*t/2;
            printf("Case %d: %0.3lf %0.3lf\n", test, s, t);
        }
        else if(n==3)
        {
            scanf("%lf%lf%lf", &u, &a, &s);
            v=sqrt((u*u)+(2*a*s));
            t=(v-u)/a;
            printf("Case %d: %0.3lf %0.3lf\n", test, v, t);
        }
        else if(n==4)
        {
            scanf("%lf%lf%lf", &v, &a, &s);
            u=sqrt((v*v)-(2*a*s));
            t=(v-u)/a;
            printf("Case %d: %0.3lf %0.3lf\n", test, u, t);
        }
        test++;
    }
    return 0;
}

Compare equality of two string in C

#include <stdio.h> #include<string.h> int main() {     char* country = "Bangladesh";     char* country2;     ...