C Language 👨‍💻
64.7K subscribers
This channel will serve you programs of C language.
Admin : @jeNiShsoNi

Useful channels :
@c_channels
@DeCODE_C
@pyGuru
Download Telegram
122. Multiplication of two Matrices

#include<stdio.h>
int main()
{

int a[5][5], b[5][5], c[5][5], m, n, p, q, i, j, k;

printf( "Enter rows and columns of first matrix: ");
scanf("%d%d",&m,&n);

printf("Enter rows and columns of second matrix: ");
scanf("%d%d",&p ,&q);

if (n == p)
{
printf("\nEnter first matrix:\n");
for(i = 0; i < m; ++i)
{for (j = 0; j < n; ++j)
scanf("%d",&a[i][j]);
}

printf("\nEnter second matrix:\n");
for (i = 0; i < p; ++i)
for (j = 0; j < q; ++j)
scanf("%d",&b[i][j]);

printf("\nThe new matrix is:\n");

for (i = 0; i < m; ++i)
{
for (j = 0; j < q; ++j)
{
c[i][j] = 0;
for (k = 0; k < n; ++k)
c[i][j] = c[i][j] + (a[i][k] * b[k][j]);
printf("%d\t",c[i][j]);
}
printf( "\n");
}
}
else
printf("\n Matrix can't be multiplied");

return 0;
}
#Program_by : @freakyLuffy
123. Goldbach's Conjecture

/*Goldbach's conjecture is a rule in math that states the following: every even number greater than 2 can be expressed as the sum of two prime numbers.*/

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

int prime (int n)
{
int flag = 0;
for(int i = 2 ; i <= sqrt(n); i ++ )
{
if(n % i == 0)
{
flag = 1;
break ;
}
}
if(!flag)
return 1;
else
return 0;
}

int main()
{
int m;
scanf("%d", & m);
for(int i = 2 ; i <= (m )/2 ; i ++)
{
int k = i , l = m - i;
if(prime(k) && prime(l))
{
printf("%d + %d\n",k , l);
}
}
}
#Program_by : @flippy_boy
124. Numerical Spiral Pattern.

1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

#include<stdio.h>
int main()
{
int n,m,l,k=1;
scanf("%d",&n);
m =(l=n);
int a[m][n] ;
int row = 0 , col = 0 ;

while(k <= l*l )
{

for(int i = col ; i < n; i ++)
{
a[row][i] = k++;

}
row++;
for(int i = row; i < m ; i ++)
{
a[i][n-1] =k ++;

}
n --;
if(row < m)
{
for(int i = n - 1; i >= col ; i --)
{ a[m-1][i] = k ++;

}
}
m--;
if(col < n)
{
for(int i = m-1; i >= row ; i --)
{
a[i][col] = k ++;
}
}
col ++;

}
for(int i = 0 ; i < l ; i ++)
{
for(int j = 0 ; j < l ; j ++)
printf("%d ",a[i][j]);
printf("\n");
}
}
#Program_by : @flippy_boy
127. Program for infix to postfix conversion.

#include<stdio.h>
char ifix[200],pfix[200],stack[100];
int p=0,s=0,i=0;
void fun()
{
if(ifix[i]==')')
{
s--;
while(stack[s]!='(')
pfix[p++]=stack[s--];
}
if(ifix[i]=='+' || ifix[i]=='-')
{
if(!s)
stack[s++]=ifix[i];
else if(stack[s-1]=='(')
stack[s++]=ifix[i];
else
{
s--;
while(s!=-1 && stack[s]!='(')
{
pfix[p++]=stack[s--];
}
stack[++s]=ifix[i];
s++;
}
}
}
int main()
{
printf("Enter your infix expression(using operators +, -, %%, /, *) : ");
scanf("%s",ifix);
for(i;ifix[i]!='\0';i++)
{
if(ifix[i]!='*' && ifix[i]!='/' && ifix[i]!='-' && ifix[i]!='+' && ifix[i]!='(' && ifix[i]!=')' && ifix[i]!='%')
pfix[p++]=ifix[i];
else if(ifix[i]=='(' || ifix[i]=='*' || ifix[i]=='/' || ifix[i]=='%')
stack[s++]=ifix[i];
else
fun();
}
if(ifix[i]=='\0')
{
if(s)
{
s--;
while(s!=-1)
{
if(stack[s]==')' || stack[s]=='(')
s--;
pfix[p++]=stack[s--];
}
}
pfix[p]='\0';
}
printf("The postfix expression is : %s",pfix);
return 0;
}
//used by taking into considering operators +, -, /, *, %, (, )
#program_by : @sidg28
128. Pattern

1
3 2
4 5 6
10 9 8 7
11 12 13 14 15
21 20 19 18 17 16


#include<stdio.h>
int main()
{
int i,j,k,l,n;

scanf("%d",&n);

for(k=i=1;i<=n;i++)
{
l=k+i-1;
for(j=1;j<=i;j++)
{
if(i%2==1)
printf("%d ",k);
else
printf("%d ",l);
k++;
l--;
}
printf("\n");
}
return 0;
}
#program_by : @aShish_bhushan
129. Pattern

1
8 2
14 9 3
19 15 10 4
23 20 16 11 5
26 24 21 17 12 6
28 27 25 22 18 13 7

#include<stdio.h>
int main() {

int n,i,j,k,l=1,d;
scanf("%d",&n);
for(i=0;i<n;++i)
{
for(j=i-1;j>=0;--j)
{
d=n-1;
l=i+1;
for(k=0;k<=j;++k)
{
l+=d;
d--;
}
printf("%d ",l);
}
printf("%d\n",i+1);
}
return 0;
}
#program_by : @Sherry060199
130. Swastika pattern.

* * * * *
* *
* *
* * * * * * *
* *
* *
* * * * *


#include<stdio.h>
int main() {
int n;
scanf("%d",&n);

for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==1)
{
if(j>(n/2)||j==1)
printf("* ");
else
printf(" ");
}
else if(i==n)
{
if(j<=(n/2+1)||j==n)
printf("* ");
else
printf(" ");
}
else if(i==(n+1)/2)
printf("* ");

else if(i<=n/2&&i!=1)
{
if(j==1||j==(n+1)/2)
printf("* ");
else
printf(" ");
}
else
{
if(j==n||j==(n+1)/2)
printf("* ");
else
printf(" ");
}
}
printf("\n");
}
return 0;
}
#program_by : @freakyLuffy
131. Pattern

5 5
54 45
543 345
5432 2345
543212345
5432 2345
543 345
54 45
5 5


#include <stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);

for(i=n;i>=1;i--) {
for(j=n;j>=1;j--) {
if(j>=i)
printf("%d",j);
else
printf(" ");
}
for(j=2;j<=n;j++) {
if(j>=i)
printf("%d",j);
else
printf(" ");
}
printf("\n");
}

//down
for(i=2;i<=n;i++) {
for(j=n;j>=1;j--) {
if(j>=i)
printf("%d",j);
else
printf(" ");
}
for(j=2;j<=n;j++) {
if(j>=i)
printf("%d",j);
else
printf(" ");
}
printf("\n");
}
}
#program_by : @shubhamkkc
132. Pattern


@ @
@ @ @ @
@ @ @
@ @ @
@ @ @ @
@ @ @ @ @
@ @ @
@ @ @ @ @
@ @ @ @
@ @ @
@ @ @
@ @ @ @
@ @



#include<stdio.h>
int main()
{
int n,x,y;
scanf("%d",&n);

if(n%2==0)
n=n+1;

for(y=3*n/2; y>=-3*(n/2); y--)
{
for(x=-3*(n/2); x<=3*(n/2); x++)
{
if((x>=-1*n/2 && x<=n/2) || (y>=-1*n/2 && y<=n/2))
{
if(x==y || x==-y)
printf("@ ");
else if((y<=0 || y>=n/2) && (x+y==n-1))
printf("@ ");
else if((y>=0 || y<=-n/2) && (x+y==1-n))
printf("@ ");
else if((x<=0 || x>=n/2) && (x-y==n-1))
printf("@ ");
else if((x>=0 || x<=-n/2) && (x-y==1-n))
printf("@ ");
else
printf(" ");
}
else
{
if(x+y==(n-1)*2)
printf("@ ");
else if(x+y==(1-n)*2)
printf("@ ");
else if(x-y==(n-1)*2)
printf("@ ");
else if(x-y==(1-n)*2)
printf("@ ");
else
printf(" ");
}
}
printf("\n");
}
}
#program_by : @I_am_liberal
133. Program for creating and displaying a linked list.

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

typedef struct node {
int data;
struct node *next;
}Node;

int main(void)
{
Node*temp;
Node*start=NULL;
Node* p=NULL;

int n;
scanf("%d",&n);

while(n--)
{
temp=(Node *)malloc(sizeof(struct node));
scanf("%d",&temp->data);
temp->next=NULL;

if(start==NULL)
{
start=temp;
p=temp;
}
else
{
p->next=temp;
p=temp;
}

}

while(start!=NULL)
{
if(start->next!=NULL)
printf("%d->",start->data);
else
printf("%d",start->data);

start=start->next;
}
return 0;
}
#program_by : @freakyLuffy
134. Program to delete a node for a given element from linked list.

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

typedef struct node {
int data;
struct node *next;
}Node;

int main(void)
{
Node*temp;
Node*start=NULL;
Node* p=NULL;

int n;
scanf("%d",&n);

while(n--)
{
temp=(Node *)malloc(sizeof(struct node));
scanf("%d",&temp->data);
temp->next=NULL;

if(start==NULL)
{
start=temp;
p=temp;
}
else
{
p->next=temp;
p=temp;
}
}

printf("Element to delete : ");
int ele; scanf("%d",&ele); printf("%d\n",ele);
Node*prev=start;
Node*cur=start;

while(cur!=NULL)
{
if(start->data==ele)
{
start=start->next;
}

if(cur->data==ele)
{
prev->next=cur->next;
free(cur);
break;
}
prev=cur;
cur=cur->next;

if(cur==NULL)
{
printf("Element doesn't exist!");
exit(0);
}
}

while(start!=NULL)
{
if(start->next!=NULL)
printf("%d->",start->data);
else
printf("%d",start->data);

start=start->next;
}

return 0;
}
#program_by : @freakyLuffy
135. Sieve of Eratosthenes : An algorithm to generate all the prime numbers within an range.

#include <stdio.h>
#define size 1000

int main (void)
{
int n;
scanf("%d",&n);
int arr[size]={0};

for(int i=2;i*i<=n;i++)
{
for(int j=i;i*j<=n;j++)
{
arr[i*j]=1;
}
}
for(int i=2;i<=n;i++)
{
if(!arr[i])
printf("%d ",i);
}
return 0;
}
#program_by : @freakyLuffy
138. Program to split words from a string using strtok function.

#include <stdio.h>
#include<string.h>
int main(void) {
char str[]="Welcome to C language";
char *token=strtok(str," ");
while(token!=NULL)
{
printf("%s\n",token);
token=strtok(NULL," ");
}
return 0;
}
#program_by : @freakyLuffy
139. Program to read multiline string using scanf.

#include<stdio.h>
int main(void) {

char str[100];
// reading multline string with '.' as a delimiter
scanf("%[^.]",str);

printf("%s",str);

return 0;
}
#program_by : @freakyLuffy
140. Program to find day on a particular date

#include<stdio.h>

int isLeapYear(int year){
if(year%4==0){
if(year%100==0 && year%400!=0){
return 0;
}
else{
return 1;
}
}
else{
return 0;
}
}

int main() {
int year;
int refYear=1600, leap=0;
int diff, totalDays,day,month, oddDays;
int lYear[]={3,1,3,2,3,2,3,3,2,3,2,3};
int nYear[]={3,0,3,2,3,2,3,3,2,3,2,3};
char week[7][10]={"sunday",
"monday",
"tuesday",
"wednesday"
,"thursday"
,"friday",
"saturday"};
printf("Enter a date between 1600 to 3000\n");
scanf("%d%d%d",&day,&month,&year);
diff = year - refYear;
while(refYear < year){
if(isLeapYear(refYear))
leap++;
refYear++;
}
totalDays = leap*366 + (diff-leap)*365;
oddDays = totalDays%7;

if(isLeapYear(year)){
for(int i=0;i<month-1;i++){
oddDays+=lYear[i];
}
oddDays+=day%7;
}
else{
for(int i=0;i<month-1;i++){
oddDays+=nYear[i];
}
oddDays+=day%7;
}
printf("Day on %d/%d/%d ",day,month,year);
printf("%s",week[(5+oddDays)%7]);
return 0;
}
#program_by : @Vecto_r
141. WAP to multiply and add two complex numbers

Input :
5
-4
4
6

Output :
Sum is 9 + 2i
Product is 44 + 14i

#include<stdio.h>
#include<conio.h>

typedef struct {
int real;
int imag;
} complex;

void getdata (complex *);
void display (complex);
complex sum(complex,complex);
complex mult(complex,complex);

main() {
complex c1,c2,c3,c4;
getdata(&c1);
getdata(&c2);

c3=sum(c1,c2);
printf("Sum is ");
display(c3);

c4=mult(c1,c2);
printf("Product is ");
display(c4);

getch();
}

void getdata(complex *p) {
printf("Enter real ");
scanf("%d",&p->real);
printf("Enter imag ");
scanf("%d",&p->imag);
}

complex sum(complex c1,complex c2) {
complex t;
t.real=c1.real+c2.real;
t.imag=c1.imag+c2.imag;
return t;
}

complex mult(complex c1,complex c2) {
complex t;
t.real=c1.real*c2.real-c1.imag*c2.imag;
t.imag=c1.real*c2.imag+c2.real*c1.imag;
return t;
}

void display {
if(c.imag>=0)
printf("%d+%di\n",c.real,c.imag);
else
printf("%d%di\n",c.real,c.imag);
}
#program_by : @PLAUnit61398