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.