Practice c programs
Here I posted solutions for C programs that available in Internet .
Click on the below title to navigate to your section.
4. Strings
#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.