Practice c programs

Here I posted solutions for C programs that available in Internet . 

Click on the below title to navigate to your section.







1. Agri Report 

#include<stdio.h>
int main()
{
    int a,c;
    float b;
    char d[20];
    printf("World-wide market\n");
    scanf("%d",&a);
    printf("Growth rate per annum from 2001-2011\n");
    scanf("%f",&b);
    printf("Area\n");
    scanf("%d%*c",&c);
    printf("Natural Pesticide\n");
    scanf("%[^\n]%*c",d);
    printf("The World-wide market reached $%d billion with the growth rate of %.1f%% in the period 2001-2011. The total area covered was %d hectares and %s was used as a natural pesticide.",a,b,c,d);
    return 0;
    
}
2. Demand for Organic Food 

#include<stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    float y,c,sum=0;
    c=x;
    for(int i=0;i<3;i++)
    {
        y=(8.9/100*c);
        c=c+y;
        sum+=y;
    }
    printf("%.2f",sum+x);
}


3. Tillage

#include<stdio.h>
int main()
{
    int a,b;
    float c;
    scanf("%d%d",&a,&b);
    c=b-(0.3*a);
    printf("%.2f",c);
}
4. Plantation

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    if((a>=5&&a<=10)&&(b>=20&&b<=27))
    printf("Rice\n");
    if((a>=12&&a<=15)&&(b>=21&&b<=24))
    printf("Wheat\n");
    if((a>=6&&a<=13)&&(b>=18&&b<=30))
    printf("Cotton");
}
5.  Crop Cultivation Strategy

#include<stdio.h>
int main()
{
int a,b,d=0;
scanf("%d",&a);
while(1)
{
    a=a-30;
    if(a<0)
    break;
    d++;
    
    scanf("%d",&b);
    for(int i=0;i<b;i++)
    {
        a*=2;
    }
    
}
printf("%d",d);
}
6. Plants under Shade

#include<stdio.h>
int main()
{
    int n,a=0,b=6,c=4;
    scanf("%d",&n);
    printf("%d",a);
    for(int i=1;i<n;i++)
    {
        if(i%2==0)
        {
         a=a+c;
         printf(" %d",a);
         c++;
        }
        
        else
        {
          a=a+b;
          printf(" %d",a);
          b++;
        }
    }
}
7. Planting Crop

#include<stdio.h>
int main()
{
    int n;
    int r;
    scanf("%d",&n);
    r=2*n-1;
    int a[r][r],l=r-1;
    printf("\n");
    int q=r/2-1,p=r/2+1,e=1,d=l-1;
    for(int i=1;i<r;i++)
    {
        if(i<r/2)
        {
            a[i][q]='X';
            q--;
            a[i][p]='X';
            p++;
        }
        if(i>r/2)
        {
            a[i][e]='X';
            e++;
            a[i][d]='X';
            d--;
        }
        
        
    }
    
    for(int i=0;i<r;i++)
    {
      for(int j=0;j<r;j++)
      {
          if(i==j||j==l||j==r-1||j==0||i==0||i==r-1||j==r/2||i==r/2)
          a[i][j]='X';
          else if(a[i][j]=='X')
          {
          printf("%c",a[i][j]);
          continue;
          }
          else
          a[i][j]='-';
          printf("%c",a[i][j]);
      }
      l--;
      printf("\n");
    }
}
8. Fencing the Ground

#include<stdio.h>
int main()
{
    int n;
    int r;
    scanf("%d",&n);
    r=2*n-1;
    int a[r][r],l=r-1;
    printf("\n");
    int q=r/2-1,p=r/2+1,e=1,d=l-1;
    for(int i=1;i<r;i++)
    {
        if(i<r/2)
        {
            a[i][q]='X';
            q--;
            a[i][p]='X';
            p++;
        }
        if(i>r/2)
        {
            a[i][e]='X';
            e++;
            a[i][d]='X';
            d--;
        }
        
        
    }
    
    for(int i=0;i<r;i++)
    {
      for(int j=0;j<r;j++)
      {
          if(i==j||j==l||j==r-1||j==0||i==0||i==r-1||j==r/2||i==r/2)
          a[i][j]='X';
          else if(a[i][j]=='X')
          {
          printf("%c",a[i][j]);
          continue;
          }
          else
          a[i][j]='-';
          printf("%c",a[i][j]);
      }
      l--;
      printf("\n");
    }
}
9. Area Split

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    if(a==4 ||a==2)
    {
        printf("No");
        return 0;
    }
    if(a%2==0)
    {
        if(a%3==0)
        {
            b=a/3;
            printf("Yes\n");
         printf("%d %d %d",b,b,b);
        }
        else
        {
          b=a/3;
          if(b%2==0)
          printf("Yes\n%d %d %d",b,b,b+2);
          else
          printf("Yes\n%d %d %d",b-1,b+1,b+1);
        }
    }
    else
    printf("No");
    return 0;
}
10.  Project predictor

#include<stdio.h>
int main()
{
    char d[]="Winter Wheat",e[]="Beans",f[]="Left Fallow";
    int a,b;
    scanf("%d%d",&a,&b);
    if(b==1)
    {
        if(a<5)
        printf("%s",d);
        else if(a<9)
        printf("%s",f);
        else
        printf("%s",e);
    }
    else if(b==2)
    {
        if(a<5)
        printf("%s",e);
        else if(a<9)
        printf("%s",d);
        else
        printf("%s",f);
    
    }
    else if(b==3)
    {
        if(a<5)
        printf("%s",f);
        else if(a<9)
        printf("%s",e);
        else
        printf("%s",f);
    }
    return 0;
}


#include<stdio.h>
int eqi(int a[],int n)
{
    int i,j,low,hi;
    for(i=0;i<n;i++)
    {
        low=0,hi=0;
        for(j=0;j<i;j++)
        low+=a[j];
        for(j=i+1;j<n;j++)
        hi+=a[j];
        if(low==hi)
        return i;
    }
    return -1;
}
int main()
{
    int n;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
   printf("%d",eqi(a,n));
    return 0;
}
2. Leaders

#include<stdio.h>
int main()
{
    int n,j,i;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for( i=0;i<n-1;i++)
    {
        int c=0;
        for(j=i+1;j<n;j++)
        {if(a[i]<a[j])
        break;
        else
        c++;
        }
        if(c==n-i-1)
        printf("%d\n",a[i]);
    }
    printf("%d",a[i]);
    return 0;
}
3. Next Greater Element

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(a[j]>a[i])
            {printf("%d\n",a[j]);
            break;}
            else if(j==n-1)
            printf("-1\n");
        }
        if(i==n-1)
        printf("-1\n");
    }
    return 0;
}
4. Fixed Point

#include<stdio.h>
int main()
{
    int n,a,c=0,b;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a);
        if(a==i)
        {
            b=a;
            c++;
        }
    }
    if(c>0)
    printf("%d",b);
    else
    printf("-1");
    
}
5. Message Decoder

#include<stdio.h>
int main()
{
    int n,c;
    scanf("%d",&n);
    int a[n],b[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=0;i<n;i++)
    {
        scanf("%d",&b[i]);
    }
    for(int i=0;i<n;i++)
    {
        c=a[i]+b[i];
        printf("%c",c);
        c=0;
    }
}
6.  Remove Unnecessary Towers

#include<stdio.h>
int main()
{
    int n,flag=1;
    scanf("%d",&n);
    int a[n],b[n],c[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=0;i<n;i++)
    {
        scanf("%d",&c[i]);
        b[i]=a[i]-c[i];
        c[i]+=a[i];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(i!=j)
            {
                if(b[i]>=b[j] && c[i]<=c[j])
                {
                    printf("%d\n",a[i]);
                    flag=0;
                }
                
            }
        }
    }
    if(flag)
    printf("-1");
    return 0;
}
7. Evacuation 

#include<stdio.h>
int main()
{
    int n,s,r=0;
    scanf("%d",&n);
    if(n<=0)
    {
        printf("Invalid Input\n");
            return 0;
    }
    int a[n];
    char b[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d%*c",&a[i]);
        if(a[i]<=0)
        {
            printf("Invalid Input\n");
            return 0;
        }
    }
    for(int i=0;i<n;i++)
    {
        scanf("%[^\n]%*c",&b[i]);
        if(b[i]!='M' && b[i]!='F' && b[i]!='C')
        {
            printf("Invalid Input\n");
            return 0;
        }
    }
    scanf("%d",&s);
   for(int i=0;i<n;i++)
   {
       int w=0,c=0,sm=0;
       for(int j=0;j<s;j++)
       {
           if(j==0)
           r++;
           if(i==n)
           break;
           if(b[i]=='F')
           w++;
           else if(b[i]=='C')
           c++;
           else if(a[i]>60 && b[i]=='M')
           sm++;
           i++;
           
       }
       printf("Row %d\nSenior Citizen %d\nFemale %d\nChildren %d\n\n",r,sm,w,c);
   }
}
8. Range Minimum Query

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n],r,b,c,min;
    for(int i=1;i<=n;i++)
    scanf("%d",&a[i]);
    scanf("%d",&r);
    while(r--)
    {
        scanf("%d %d ",&b,&c);
        min=a[b];
        for(int i=b;i<=c;i++)
        {
            if(a[i]<min)
            min=a[i];
        }
        printf("%d\n",min);
    }
    return 0;
}
9. Count Groups

#include<stdio.h>
int main()
{
    int n,c=0;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=0;i<n-2;i++)
    {
        for(int j=i+1;j<n-1;j++)
        {
            for(int k=j+1;k<n;k++)
            {
                if((a[i]+a[j]+a[k])%3==0)
                {
                 c++;
                }
                
            }
        }
    }
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
                if((a[i]+a[j])%3==0)
                c++;
        }
    }
    printf("%d",c);
}
10. Game 

#include<stdio.h>
int main()
{
    int n,d=0;
    scanf("%d",&n);
    int a[n],k=1,sum;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    while(k==1)
    {
        k=0;
        for(int j=0;j<n-1;j++)
        {
            sum=a[j]+a[j+1];
            if(sum<100)
            {a[j]=sum;
            k=1;
            }
        }
        d++;
        
    }
    printf("%d",d-1);
    return 0;
}

#include<stdio.h>
int main()
{
	int n,k;
	printf("Enter the size of matrix:");
	scanf("%d",&n);
	k=n-1;
	for(int i=0;i<n;i++)
	{


	for(int j=0;j<n;j++)
	{
	   if((j==k-i)||(i==j))
	   printf("M ");
	   else if((i==0)||(i==n-1))
	   printf("F ");
	   else if((i!=0)||(i!=n-1))
	   {
	       if(j==0||j==n-1)
	       printf("F ");
	       else
	       printf("C ");
	   }

}
printf("\n");
}
}
2. Representative Election

#include<stdio.h>
int main()
{
    int n,a,c;
    printf("The class room is of size n*n.\nEnter the value of n :\n");
    scanf("%d",&n);
    int r[n];
    printf("Enter the marks of student in each position :\n");
    for(int i=1;i<=n;i++)
    {
        int max=0;
    for(int j=1;j<=n;j++)
    {

        printf("ROW %d COLUMN %d\n",i,j);
        scanf("%d",&a);
        if(a>max)
       { max=a;
         c=j;
       }
    }
    r[i]=c;
    }
    
    printf("The positions of nominees are\n");
    for(int i=1;i<=n;i++)
    {
        printf("%d\n",r[i]);
    }
}
3. Spiral Pattern

#include<stdio.h>
int main()
{
    int n,k=1,r=0,c=0;
    scanf("%d",&n);
    int a[n][n];
    printf("PATTERN IS:\n");
    for(int p=0;p<=n/2;p++)
    {
        if(p==n/2)
        {
        k--;
        }
        for(int j=c;j<n-c;j++)
        {
            a[r][j]=k;
            k++;
        }
        for(int i=r+1;i<n-r-1;i++)
        {
            a[i][n-c-1]=k;
            k++;
        }
        for(int j=n-c-1;j>=c;j--)
        {
            a[n-r-1][j]=k;
            k++;
        }
        for(int i=n-r-2;i>r;i--)
        {
            a[i][c]=k;
            k++;
        }
        r++;
        c++;
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}
      
4. Matrix Types

#include<stdio.h>
#include<stdlib.h>
int** readMatrix(int rows,int cols)
{
    int **a;
    a=(int**)malloc(sizeof(int*)*rows);
    for(int i=0;i<cols;i++)
        *(a+i)=(int*)malloc(sizeof(int)*cols);
    for(int i=0;i<rows;i++)
        for(int j=0;j<cols;j++)
            scanf("%d",(*(a+i)+j));
    return a;
}
void displayMatrix(int** a,int rows,int cols)
{
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            printf("%d",*(*(a+i)+j));
            printf(" ");
        }
        printf("\n");
    }
}
int findSymmetric(int** a,int n)
{
    int **T;
    T=(int**)malloc(sizeof(int*)*n);
    for(int i=0;i<n;i++)
        *(T+i)=(int*)malloc(sizeof(int)*n);
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            *(*(T+i)+j)=*(*(a+j)+i);
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    if(*(*(a+i)+j)!=*(*(T+i)+j))
    return 0;

    return 1;
}
int findIdentity(int** a,int n)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(i==j && *(*(a+i)+j)!=1)
            return 0;
            if(i!=j && *(*(a+i)+j)!=0)
            return 0;
        }
    }
    return 1;
}
int findMagic(int** a,int n)
{
    int sum=0;/*,sum2=0;
    for(int i=0;i<n;i++)
    sum+=*(*(a+i)+i);
    for(int i=0;i<n;i++)
    sum2+=*(*(a+i)+(n-1-i));
    if(sum!=sum2)
    return 0;*/
    for(int i=0;i<n;i++)
    {
        sum+=*(*(a+0)+i);
    }
    for(int i=0;i<n;i++)
    {
        int rs=0;
        for(int j=0;j<n;j++)
        {
            rs+=*(*(a+i)+j);
        }
        if(rs!=sum)
        return 0;
    }
    for(int i=0;i<n;i++)
    {
        int cs=0;
        for(int j=0;j<n;j++)
        cs+=*(*(a+j)+i);

        if(cs!=sum)
        return 0;
    }
    return 1;

}

int main()
{
    int n;
    printf("Enter the number of rows and columns in the matrix\n");
    scanf("%d",&n);
    int **a;
    printf("Enter the elements in the matrix\n");
    a=readMatrix(n,n);
    printf("The given matrix is\n");
    displayMatrix(a,n,n);
    printf("Matrix is ");
    if(findSymmetric(a,n))
    printf("Symmetric\n");
    else
    printf("not Symmetric\n");
    if(findIdentity(a,n))
    printf("Matrix is Identity\n");
    else
    printf("Matrix is not Identity\n");
    if(findMagic(a,n))
    printf("Matrix is Magic");
    else
    printf("Matrix is not Magic");

    return 0;
}
5. Face Detection

#include<stdio.h>
#include<string.h>
int n,m;
int find(char a[n][m],int n,int m)
{
    int ans=0;
    for(int i=0;i<n-1;i++)
    {
        for(int j=0;j<m-1;j++)
        {
             int d=0;
           if(a[i][j]=='f' || a[i][j]=='a' || a[i][j]=='c'|| a[i][j]=='e')
           d++;
           if(a[i][j+1]=='f' ||a[i][j+1]=='a' || a[i][j+1]=='c'|| a[i][j+1]=='e')
           d++;
           if(a[i+1][j]=='f' ||a[i+1][j]=='a' || a[i+1][j]=='c'|| a[i+1][j]=='e')
           d++;
           if(a[i+1][j+1]=='f' ||a[i+1][j+1]=='a' || a[i+1][j+1]=='c'|| a[i+1][j+1]=='e')
           d++;
           if(d==4)
           ans++;
        }

    }
    return ans;
    
}
int main()
{
    printf("Enter the height of the image\n");
    scanf("%d",&n);
    printf("Enter the width of the image\n");
    scanf("%d%*c",&m);
    printf("Enter the image\n");
    char a[n][m];
    for(int i=0;i<n;i++)
    {

        for(int j=0;j<m;j++)
           {
               scanf(" %c",&a[i][j]);
           }
    }
    printf("The number of faces on the image is %d",find(a,n,m));
}
6. Beautiful Matrix

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a,b,n[5][5];
    printf("Enter the matrix\n");
    for(int i=0;i<5;i++)
    {
        for(int j=0;j<5;j++)
        {
            scanf("%d",&n[i][j]);
            if(n[i][j]==1)
            {
                a=i;
                b=j;
            }
        }
    }
    //using absolute value function
    printf("The minimum number of moves = %d",(abs(2-a)+abs(2-b)));
}
7. Sudoku

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int n;
int checkValidConfig(int a[][n],int r,int c,int c1,int sum)
{
    for(int i=r;i<(r+sqrt(n));i++)
    for(int j=c;j<(c+sqrt(n));j++)
    {
        if(a[i][j]<1 || a[i][j]>n)
        return 1;
        c1+=a[i][j];
    }
    
if(sum!=c1)
    return 1;
    else
    return 0;
}
int main()
{
    scanf("%d",&n);
    int a[n][n],sum=0,c1,c2,flag=0;
    if(n%2==0)
    sum=(pow(n,2)/2)+(n/2);
    else
    sum=(n-(n/2))*n;
    for(int i=0;i<n;i++)
        {for(int j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    }
    for(int i=0;i<n;i++)
    {    c1=c2=0;
        for(int j=0;j<n;j++)
        {
            if(a[i][j]<1 || a[i][j]>n)
            {
                printf("no");
                return 0;
            }
            c1+=a[i][j];
            c2+=a[j][i];
        }
        if((c1!=sum) ||(c2!=sum))
        {
            flag=1;
            break;
        }
    }
    if(flag!=1)
    {
        for(int i=0;i<n;i+=sqrt(n))
        for(int j=0;j<n;j+=sqrt(n))
        {
            flag=checkValidConfig(a,i,j,0,sum);
            if(flag)
            {
                printf("no");
                return 0;
            }
        }
    }
    if(flag)
    printf("no");
    else
    printf("yes");
    return 0;
        
}
8. New magician

#include<stdio.h>
int main()
{
    int n,r,r1,c=0,t=0;
    scanf("%d %d",&n,&r);
    int a1[n][n],a2[n][n];
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    scanf("%d",&a1[i][j]);
    scanf("%d",&r1);
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    scanf("%d",&a2[i][j]);
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    {
        if(a1[r-1][i]==a2[r1-1][j])
        {
            c++;
            t=a2[r1-1][j];
        }
    }
    if(c==0)
    printf("cheat");
    else if(c==1)
    printf("%d",t);
    else
    printf("bad");
    return 0;
}
9. Print Matrix Diagonally

#include<stdio.h>
int main()
{
int r,c;
scanf("%d\n%d",&r,&c);
int a[r][c],i,j;
for(int i=0;i<r;i++)
    for(int j=0;j<c;j++)
    scanf("%d",&a[i][j]);
    
int k=0;
while(1)
{
    if(k>=r)
    {
    i=r-1;    
    j=k-r+1;
    }
    else
    {
      i=k;
      j=0;
    }
    while(j<=k)
   {
    printf("%d ",a[i][j]);
    if(j==c-1)
    break;
    
    i--;
    j++;
   }
printf("\n");
if(i==r-1 && j==c-1)
break;
k++;
}
}
10. Max Sum

#include<stdio.h>
#include<string.h>
#include<limits.h>

int maxfind(int* arr,int* a,int* c,int n)
{
    int sum=0,i;
    int max=INT_MIN;
    *c=-1;
    int d=0;
    for(i=0;i<n;i++)
    {
        sum+=arr[i];
        if(sum<0)
        {
            d=i+1;
            sum=0;
        }
        else if(sum>max)
        {
            max=sum;
            *a=d;
            *c=i;
        }
    }
    if(*c!=-1)
    return max;
    max=arr[0];
    *a=*c=0;
    for(i=1;i<n;i++)
    {
        if(arr[i]>max)
        {
            max=arr[i];
            *a=*c=i;
        }
    }
    return max;
}
int main()
{
    int row,col,max=INT_MIN,sum,a,c;
    scanf("%d %d",&row,&col);
    int n[row][col],temp[row];
    for(int i=0;i<row;i++)
    for(int j=0;j<col;j++)
    scanf("%d",&n[i][j]);
    for(int l=0;l<col;l++)
    {
        memset(temp,0,sizeof(temp));
        for(int k=l;k<col;k++)
        {
            for(int h=0;h<row;h++)
            temp[h]+=n[h][k];
            sum=maxfind(temp,&a,&c,row);
            if(sum>max)
            max=sum;
        }
    }
    printf("%d",max);
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char n[200],ch;
    printf("Enter the input string\n");
    scanf("%s",n);
    int l=strlen(n);
    char u[l];
    int k=0;
    printf("The letter frequency is\n");
    for(int i=0;i<l;i++)
    {
        for(int j=0;j<(l-1);j++)
        {
            if(n[j]>n[j+1])
            {
            ch=n[j];
            n[j]=n[j+1];
            n[j+1]=ch;
            }
        }
    }
    for(int i=0;i<l;i++)
    {
        int d=0;
        for(int m=0;m<k;m++)
                {
            
                    if(n[i]==u[m])
                    {d=1;
                    break;
                    }
                }
                
        if(d==1)
        continue;
        int c=0;
        for(int j=0;j<l;j++)
        {
            
            if(n[i]==n[j])
            {
                c++;
                if(c==2)
                {
                    u[k]=n[i];
                    k++;
                }
            }
        }
        printf("%c %d\n",n[i],c);
    }
    
    
}
2. String Task

#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main()
{
    char a[20],b[20];
    printf("Enter the string\n");
    scanf("%s",a);
    int n=strlen(a),k=0;
    printf("The resultant string\n");
    for(int i=0;i<n;i++)
    {
        char ch=a[i];
         ch=tolower(ch);
      if(ch!='a'&&ch!='e'&&ch!='o'&&ch!='u'&&ch!='i'&&ch!='y')
      {
          b[k]='.';
          b[k+1]=ch;
          printf("%c%c",b[k],b[k+1]);
          k+=2;
          
      }
    }
   
    
    
}
3. KeyBoard

#include<stdio.h>
#include<string.h>
int main()
{
    char a,b[50],d[50];
    int k=0,u;
    char c[]="qwertyuiopasdfghjkl;zxcvbnm,./";
    printf("Enter a character\n");
    scanf("%c",&a);
    printf("Enter the string\n");
    scanf("%s",b);
    printf("The original message\n");
    if(a=='R')
    u=-1;
    if(a=='L')
    u=1;
    int n=strlen(b),m=strlen(c);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(b[i]==c[j])
            {
                d[k]=c[j+u];
                printf("%c",d[k]);
                break;
            }
        }
    }
    
    
}
4. Deepak's  Technique

#include<stdio.h>
#include<string.h>
int main()
{
    char a[50];
    scanf("%s",a);
    int n=strlen(a);
    int d=0,k=0;
    int q[n];
    for(int i=0;i<n;i++)
    {
        int h=0;
        for(int u=0;u<k;u++)
        {
            if(a[i]==q[u])
           { h=1;
            break;
           }
        }
        if(h==1)
        continue;
        int c=0;
        for(int j=0;j<n;j++)
        {

            if(a[i]==a[j])
            {
                c++;
                if(c==2)
                {
                    q[k]=a[i];
                    k++;
                }
            }
        }
        d++;
    }
    if(d%2==0)
    printf("It is a Smart Guy!");
    else
    printf("It is a Pretty Girl!");
    
    return 0;
    
}
5. Lucky Caption

#include<stdio.h>
#include<string.h>

int main()
{
    char a[50];
    int d=0,c=0;
    scanf("%s",a);
    int n=strlen(a);
    for(int i=0;i<n;i++)
    {
        if(a[i]=='W')
        d++;
        else if(a[i]=='L')
        c++;
        else
        {
        printf("Invalid Input");
        return 0;
        }
    }
    if(d>=(n/2))
    printf("Lucky");
    else
    printf("Unlucky");
    
}
6. Dictionary Sorter

#include<stdio.h>
#include<string.h>
int main()
{
    int n,t;
    scanf("%d",&n);
    t=n;
    char a[n][20],b[n][20];
    for(int i=0;i<n;i++)
    {
        scanf("%s",a[i]);
    }
    for(int i=0;i<n;i++)
    {
        int l=strlen(a[i]);
        int k=0;
        for(int j=0;j<l;j++)
        {
           if(a[i][j]=='/')
           {
               if(a[i][j+1]=='a')
               {
                   b[i][k++]='*';
                   j+=2;
                   continue;
               }
               if(a[i][j+1]=='t')
               {
                   b[i][k++]='#';
                   j+=2;
                   continue;
               }
               
           }
           b[i][k++]=a[i][j];
        }
        b[i][k]='\0';
    }
    for(int i=0;i<n;i++)
    {
        int k=0;
        for(int j=k+1;j<t;j++)
        {
            int l2;
            char temp[20];
            int l1=strlen(b[k]);
            int l3=strlen(b[j]);
            if(l1>l3)
            l2=l3;
            else
            l2=l1;
            for(int m=0;m<l2;m++)
            {
            if(b[k][m]=='*')
            {
                if(b[j][m]=='*')
                continue;
                if(b[j][m]!='b' && b[j][m]!='#')
                {
                    if(b[j][m]<'b')
                    {
                        strcpy(temp,b[k]);
                        strcpy(b[k],b[j]);
                        strcpy(b[j],temp);
                        break;
                    }
                }
            }
            else if(b[j][m]=='*')
            {
                if(b[k][m]!='a')
                {
                    strcpy(temp,b[k]);
                    strcpy(b[k],b[j]);
                    strcpy(b[j],temp);
                    break;
                }
            }
            else if(b[k][m]=='#')
            {
                if(b[j][m]=='#')
                continue;
                if(b[j][m]!='t')
                {
                    if(b[j][m]<'t')
                    strcpy(temp,b[k]);
                    strcpy(b[k],b[j]);
                    strcpy(b[j],temp);
                    break;
                }
            }
            else if(b[j][m]=='#')
            {
                if(b[k][m]>'t')
                {
                    strcpy(temp,b[k]);
                    strcpy(b[k],b[j]);
                    strcpy(b[j],temp);
                    break;
                }
            }
            else
            {
                if(b[k][m]>b[j][m])
                {
                    strcpy(temp,b[k]);
                    strcpy(b[k],b[j]);
                    strcpy(b[j],temp);
                    break;
                }
                if(b[k][m]==b[j][m])
                continue;
                else
                break;
            }
            }
            k++;
        }
        t--;
    }
    
    for(int i=0;i<n;i++)
    {
         for(int j=0;j<20;j++)
         {
             if(b[i][j]=='\0')
             break;
             if(b[i][j]=='*')
             printf("/ae");
             else if(b[i][j]=='#')
             printf("/th");
             else
             printf("%c",b[i][j]);
         }
         printf("\n");
    }
    
}
7. DicTower

#include<stdio.h>
#include<string.h>
int main()
{
    int n,temp,l,t;
    scanf("%d",&n);
    t=n;
    if(n<=0)
    {
        printf("Invalid Input");
        return 0;
    }
    char a[n][50],c,b;
    scanf("%s",a[0]);
    for(int i=1;i<n;i++)
    {
       scanf("%s",a[i]);
    }
    for(int i=0;i<n;i++)
      {
         int k=0;
         temp=strlen(a[0]);
        for(int j=1;j<t;j++)
        {
            char ch[40];
            l=strlen(a[j]);
            if(temp==l)
            {
                int d=0;
                for(int u=0;u<temp;u++)
                {
                	b=a[k][u];
                	c=a[j][u];
                    if(b>c)
                     d++;
                    	else if(b==c)
                    	continue;
                    	break;
                }
                if(d!=0)
                {
                    strcpy(ch,a[k]);
                    strcpy(a[k],a[j]);
                    strcpy(a[j],ch);
                }
            }
            else if(temp>=l)
            {strcpy(ch,a[k]);
            strcpy(a[k],a[j]);
            strcpy(a[j],ch);
            }
            else
            temp=l;
            k++;

        }
        t--;
      }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<50;j++)
        {
            if(a[i][j]=='\0')
            break;
            if(j>0)
            printf(" ");
            printf("%c",a[i][j]);
        }
        printf("\n");
    }
    return 0;

}
 8. Bananagram 3

#include<stdio.h>
#include<string.h>
int main()
{
    int n,d=0;
    scanf("%d",&n);
    int strl[n],stl=0;
    char a[n][100];
    for(int i=0;i<n;i++)
    {
        scanf("%s",a[i]);
    }
    for(int i=0;i<n;i++)
    {
        strl[i]=strlen(a[i]);
        stl+=strl[i];
    }
    stl=stl-(n-1);
    for(int i=0;i<n;i++)
    {
        if(i!=0)
        {
             if(i%2==1)
                 for(int j=0;j<strl[i-1];j++)
               {
                 if(a[i][0]==a[i-1][j])
                  { d++;
                    break;
                  }
                }
        
             else
                 {
                 int b=strl[i-1];
                 if(a[i][0]==a[i-1][b-1])
                 d++;
                      
                  }
        }
    }
    if(d==n-1)
    printf("Yes\n%d",stl);
    else
    printf("No\n0");
}
9. Word Ladder

#include<stdio.h>
#include<string.h>
int main()
{
  int n;
  scanf("%d",&n);
  char a[n][50];
  for(int i=0;i<n;i++)
  {
      scanf("%s",a[i]);
  }
  int len=strlen(a[0]);
  for(int i=0;i<n;i++)
  {
      char ch[50];
      int flag=0;
      for(int k=i+1;k<n;k++)
      {
          int d=0;
           for(int j=0;j<len;j++)
          {
             if(a[i][j]==a[k][j])
           {
              d++;
           }
            if(d==len-1)
           {
             strcpy(ch,a[i+1]);
             strcpy(a[i+1],a[k]);
             strcpy(a[k],ch);
             flag=1;
           }
          }
          if(flag)
          break;
      }
      
  }
  for(int i=0;i<n;i++)
  {
      printf("%s\n",a[i]);
  }
}
10. Wordakshari

#include<stdio.h>
#include<string.h>

int main()
{
    int n=0,b;
    char a[50][50],arr[]="#####";
    while(1)
    {
        scanf("\n%[^\n]s",a[n]);
        if(!strcmp(a[n],arr))
        break;
        n++;
    }
    printf("%s\n",a[0]);
    for(int i=0;i<n;i++)
    {
        b=strlen(a[i]);
        if(a[i][b-1]==a[i+1][0])
        printf("%s\n",a[i+1]);
        else
        return 0;
    }
    return 0;
}


#include<stdio.h>
void printFactors(int n,int i)
{
    if(n==0)
    {
        printf("0");
    }
    else if(i<=n)
    {
        if(n%i==0)
        printf("%d ",i);
        printFactors(n,++i);
    }
}
int main()
{
    int a;
    printf("Enter the number\n");
    scanf("%d",&a);
    printf("The factors of the number are \n");
    printFactors(a,1);
    return 0;
}
2. Image Segmentation

#include<stdio.h>
#include<stdlib.h>
void objectCount(int **a,int i,int j,int row,int col)
{
    int d=0;
    if(i<0 || i>=row)
    d=0;
    else if(j<0 || j>=col)
    d=0;
    else
    d=1;
    if(d)
    {
        if(*(*(a+i)+j))
        {
            printf("i=%d,j=%d\n",i,j);
            a[i][j]=0;
            //objectCount(a,i-1,j-1,row,col);
            objectCount(a,i-1,j,row,col);
            objectCount(a,i+1,j,row,col);
            //objectCount(a,i-1,j+1,row,col);
            objectCount(a,i,j-1,row,col);
            objectCount(a,i,j+1,row,col);
            //objectCount(a,i+1,j-1,row,col);
            //objectCount(a,i+1,j,row,col);
            //objectCount(a,i+1,j+1,row,col);
            

        }
    }
}
int main()
{
    int r,c,count=0;
    printf("Please enter the number of rows and cols\n");
    scanf("%d%d",&r,&c);
    int **a=malloc(r * sizeof(int *));
    for(int i=0;i<r;i++)
    *(a+i)=malloc(c * sizeof(int));
    printf("Enter the matrix (pixel values in the binary image):");
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            if(a[i][j]==1)
            {
                count++;
                printf("Segment - %d\n",count);
                objectCount(a,i,j,r,c);
            }
        }
    }
    return 0;
}
3. Printing Array Reverse

#include<stdio.h>
#include<stdlib.h>
int n=1;
void printArray(int* a,int size)
{
    int m=size-n;
 if(m>=0)
 {
 printf("%d\n",*(a+m));
 n++;
 printArray(a,size);
 }
 
}
int main()
{
    int* a;
    int size;
    printf("Enter the number of elements in the array\n");
    scanf("%d",&size);
    a=(int*)malloc(size*sizeof(int));
        printf("Enter the elements in the array\n");
    for(int i=0;i<size;i++)
    {
            scanf("%d",(a+i));
    }
    
    printf("The elements in the array in reverse order are\n");
    printArray(a,size);
    return 0;
}
4. Flood Fill 

#include<stdio.h>
int main()
{
    int n,m;
    printf("Enter the size of the N x N image:\n");
    scanf("%d",&n);
    int a[n][n];
    printf("Enter the pixel values in the image 0/1\n");
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    printf("Enter the color/value to be filled for the object\n");
    scanf("%d",&m);
    printf("Image before filling:\n");
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    printf("Image after filling:\n");
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(a[i][j]==1)
            a[i][j]=m;
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}
5. Robot 1

#include<stdio.h>
int numberofpaths(int m,int n)
{
    if(m==1||n==1)
    return 1;
    return numberofpaths(m-1,n)+numberofpaths(m,n-1);
}
int main()
{
    int n,m,a;
   printf("Enter the size of the grid\n");
   scanf("%d",&n);
   m=n;
   a=numberofpaths(m,n);
   printf("The number of paths is %d",a);
}
6. Robot 3

#include<stdio.h>
#include<stdlib.h>
void findPath(int i,int j,int m,int n,int *pathi,int *pathj,int pi)
{
    if(i==m-1)
    {
        for(int k=j;k<n;k++)
        {
            pathi[pi+k-j]=i;
            pathj[pi+k-j]=k;
        }
        for(int l=0;l<pi+n-j;l++)
        {
            printf("( %d , %d )",pathi[l],pathj[l]);
            if(l!=pi+n-j-1)
            printf(" - ");
        }
        printf("\n");
        return;
    }
    if(j==n-1)
    {
        for(int k=i;k<m;k++)
        {
            pathi[pi+k-i]=k;
            pathj[pi+k-i]=j;
        }
        for(int l=0;l<pi+m-i;l++)
        {
            printf("( %d , %d )",pathi[l],pathj[l]);
            if(l!=pi+m-i-1)
            printf(" - ");
        }
        printf("\n");
        return;
    }
    pathi[pi]=i;
    pathj[pi]=j;
    findPath(i+1,j,m,n,pathi,pathj,pi+1);
    findPath(i,j+1,m,n,pathi,pathj,pi+1);
    
}
int main()
{
    int n;
    printf("Enter the size of the grid\n");
    scanf("%d",&n);
    int a=n+n;
    int * pathi=malloc(a*sizeof(int));
    int * pathj=malloc(a*sizeof(int));
    printf("The paths for the robot are\n");
    findPath(0,0,n,n,pathi,pathj,0);
    return 0;
    
}
7. Buildings

#include<stdio.h>
#include<string.h>

struct Building
{
    char name[100];
    float length;
    float width;
    float height;
    float ratePerSqFt;
    float area;
    float value;

};
int main()
{
    int n;
    struct Building temp;
    printf("Enter the number of buildings\n");
    scanf("%d",&n);
    struct Building s[n];
    for(int i=0;i<n;i++)
    {
        float a;
        printf("Enter the details of building %d\n",i+1);
        printf("Enter name\n");
        scanf("%s",s[i].name);
        printf("Enter length\n");
        scanf("%f",&s[i].length);
        printf("Enter width\n");
        scanf("%f",&s[i].width);
        printf("Enter height\n");
        scanf("%f",&s[i].height);
        printf("Enter rate per square feet\n");
        scanf("%f",&s[i].ratePerSqFt);
        a=(((s[i].length)*(s[i].width))+((s[i].length)*(s[i].height))+((s[i].height)*(s[i].width)));
        a=2*a;
        s[i].area=a;
        s[i].value=((a)*(s[i].ratePerSqFt));
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(strcmp(s[i].name,s[j].name)<0)
            {
                temp=s[i];
                s[i]=s[j];
                s[j]=temp;
            }
        }
    }
    for(int  i=0;i<n;i++)
    {
        printf("Details of building %d\n",i+1);
        printf("Name : %s\n",s[i].name);
        printf("Area : %0.2f\n",s[i].area);
        printf("Value : %0.2f\n",s[i].value);
        
    }
}
8. Best Mileage

#include<stdio.h>
struct Car
{
    int startKm,endKm,litre;
};

int main()
{
    struct Car s1,s2;
    int a,b;
    
        printf("Enter the startKm of car 1:\n");
        scanf("%d",&s1.startKm);
        printf("Enter the endKm of car 1:\n");
        scanf("%d",&s1.endKm);
        printf("Enter the fuel used of car 1:\n");
        scanf("%d",&s1.litre);
        a=(s1.endKm-s1.startKm)/s1.litre;
        printf("Enter the startKm of car 2:\n");
        scanf("%d",&s2.startKm);
        printf("Enter the endKm of car 2:\n");
        scanf("%d",&s2.endKm);
        printf("Enter the fuel used of car 2:\n");
        scanf("%d",&s2.litre);
        b=(s2.endKm-s2.startKm)/s2.litre;
        printf("Mileage of audia4:%dkm/lt\n",a);
        printf("Mileage of fordfigo:%dkm/lt\n",b);
        
        if(a>b)
            printf("Mileage of audia4 is more than fordfigo");
        else
            printf("Mileage of fordfigo is more than audia4");
        
        
}
9. Employee Structures

#include<stdio.h>
struct employee
{
    char name[50];
    int employeeid,age;
    float salary;
    char designation[50];
};
int main()
{
   struct employee s[5];
   
   for(int i=0;i<5;i++)
   {
       printf("Enter details for employee %d\n",i+1);
       printf("Enter employee name\n");
       scanf("%s",s[i].name);
       printf("Enter employee id\n");
       scanf("%d",&s[i].employeeid);
       printf("Enter employee age\n");
       scanf("%d",&s[i].age);
       printf("Enter employee designation\n");
       scanf("%s",s[i].designation);
       printf("Enter employee salary\n");
       scanf("%f",&s[i].salary);
   }
   for(int i=0;i<5;i++)
   {
       printf("Details of employee %d\n",i+1);
       printf("Employee name:%s\n",s[i].name);
       printf("Employee id:%d\n",s[i].employeeid);
       printf("Employee age:%d\n",s[i].age);
       printf("Employee designation:%s\n",s[i].designation);
       printf("Employee salary:%.2f\n",s[i].salary);
   }
}
10. HR Manager

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct College
{
    char name[100];
    char City[100];
    int establishmentYear;
    float passPercentage;
};
void sortRecords(struct College *s,int n)
{
    struct College temp;
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n-i-1;j++)
        {
            if(strcmp((s+j)->name,(s+j+1)->name)>0)
            {
                temp=*(s+j);
                *(s+j)=*(s+j+1);
                *(s+j+1)=temp;
            }
        }
    }
}
void dispCollegeDetails(struct College *s)
{
    printf("Name : %s\n",(s->name));
    printf("City : %s\n",s->City);
    printf("Year of establishment : %d\n",s->establishmentYear);
    printf("Pass percentage : %.2f\n",s->passPercentage);
}

void dispCollegeNamesFromYear(struct College *s,int year,int n)
{
    printf("Names of colleges started after year %d\n",year);
    int i;
    for(i=0;i<n;i++)
    {
        if((s+i)->establishmentYear>year)
        {
            printf("%s\n",(s+i)->name);
        }
    }
}
void dispCollegeNamesFromCity(struct College *s,char * city,int n)
{
    printf("Colleges from City %s\n",city);
    int i;
    for(i=0;i<n;i++)
    {
        if(strcmp((s+i)->City,city)==0)
        {
            printf("%s\n",(s+i)->name);
        }
    }
}
void dispCityTopperDetails(struct College *s,char * city,int n)
{
    printf("Top College Details in city %s\n",city);
    float max=0.0f;
    int pos,i;
    for(i=0;i<n;i++)
    {
        if(strcmp((s+i)->City,city)==0)
        {
            if(max<(s+i)->passPercentage)
            {
                pos=i;
                max=(s+i)->passPercentage;
            }
        }
    }
  dispCollegeDetails(s+pos);
}
void dispTopperDetails(struct College *s,int n)
{
    printf("Overall Top College Details\n");
    float max=0.0f;
    int pos,i;
    for(i=0;i<n;i++)
    {
        if(max<(s+i)->passPercentage)
        {
            pos=i;
            max=(s+i)->passPercentage;
        }
    }
    dispCollegeDetails(s+pos);
}
void printMenu()
{
    printf("Menu\n1)Display names of colleges started after a particular year\n");
    printf("2)Display names of colleges from a particular city\n");
    printf("3)Display all details of the college having the highest Pass Percentage\n");
    printf("4)Display all details of the college from a particular city having the highest Pass Percentage\n");
    printf("5)Display all details of a particular college (Search by name)\n");
    printf("6)Display all details of all colleges\n");
    printf("7)Exit\n");
}
int main()
{
    int n,i,choice;
    struct College *a;
    printf("Enter the number of colleges\n");
    scanf("%d",&n);
    a=(struct College*)malloc(n*sizeof(struct College));
    for(int i=0;i<n;i++)
    {
        printf("Enter the details of college %d\n",i+1);
        printf("Enter name\n");
        scanf("%s",(a+i)->name);
        printf("Enter city\n");
        scanf("%s",(a+i)->City);
        printf("Enter year of establishment\n");
        scanf("%d",&(a+i)->establishmentYear);
        printf("Enter pass percentage\n");
        scanf("%f",&(a+i)->passPercentage);
    }
    int year;
    char city[100];
    char nameSearch[100];
    int flag=0;
    sortRecords(a,n);
    do{
        printMenu();
        flag=0;
        printf("Enter your choice\n");
        scanf("%d",&choice);
        switch(choice)
        {
            case 1:
            printf("Enter the year\n");
            scanf("%d",&year);
            dispCollegeNamesFromYear(a,year,n);
            break;
            case 2:
            printf("Enter the city\n");
            scanf("%s",city);
            dispCollegeNamesFromCity(a,city,n);
            break;
            
            case 3:
            dispTopperDetails(a,n);
            break;
            
            case 4:
            printf("Enter the city\n");
            scanf("%s",city);
            dispCityTopperDetails(a,city,n);
            break;
            
            case 5:
            printf("Enter the name\n");
            scanf("%s",nameSearch);
            for(i=0;i<n;i++)
            {
                if(strcmp(nameSearch,(a+i)->name)==0)
                {
                    flag=1;
                    dispCollegeDetails((a+i));
                    break;
                }
            }
            if(flag==0)
            printf("College by name %s not found\n",nameSearch);
            break;
            
            case 6:
            for(i=0;i<n;i++)
            {
                dispCollegeDetails((a+i));
            }
            break;
            default:
            exit(0);
        }
    }while(1);
    return 0;
}
 Your comments are honored.