Showing posts with label C Programming. Show all posts
Showing posts with label C Programming. Show all posts

Friday, September 23, 2016

Matrix Transpose

/* Transpose the matrix */
#include<stdio.h>

int main()
{
int a[4][4],i,j,b;

for(i=0;i<4;i++)
{
printf("\nEnter elements of %d row of Matrix: ",i+1);
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}

for(i=0;i<4;i++)
{
for(j=i+1;j<4;j++)
{
b=a[i][j];
a[i][j]=a[j][i];
a[j][i]=b;
}
}

printf("\nTransposed Matrix:\n\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}

Sum of two Matrix

/* Sum of two Matrix */
#include<stdio.h>

int main()
{
int a[5][5],b[5][5],c[5][5];
int i,j;

for(i=0;i<5;i++)
{
printf("\nEnter elements of %d row of first Matrix: ",i+1);
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
}

for(i=0;i<5;i++)
{
printf("\nEnter elements of %d row of 2nd Matrix: ",i+1);
for(j=0;j<5;j++)
scanf("%d",&b[i][j]);
}

printf("\nSum of Matrix:\n\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%3d ",c[i][j]);
}
printf("\n");
}
return 0;
}

Matrix Multiplication

/* Matrix multiplication */
#include<stdio.h>

int main()
{
int arr1[3][3],arr2[3][3],arr3[3][3]={0},i,j,k;

printf("Type a matrix of 3 rows & 3 colomns :\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&arr1[i][j]);

printf("Type another matrix of 3 rows & 3 colomns :\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&arr2[i][j]);

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<3;k++)
arr3[i][j]=arr3[i][j]+arr1[i][k]*arr2[k][j];
}

}

printf("\n\nOutput:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",arr3[i][j]);
printf("\n\n");
}

return 0;
}

Sort array of 10 strings

/* Sort array of 10 strings. */

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

int main()
{
int i,j;
char str[10][10],temp[10];
printf("Type 10 names :\n");
for(i=0;i<10;i++)
{
// gets(str[i]);
// fgets is a better option over gets to read multiword string .
fgets(str[i], 10, stdin);
}
for(i=0;i<10;i++)
{
for(j=0;j<10-1-i;j++)
{
if(strcmpi(str[j],str[j+1])>0)
{
strcpy(temp,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],temp);
}
}
}

printf("\nSorted Names :\n");
for(i=0;i<10;i++)
puts(str[i]);
return 0;
}

Insertion Sort

/* Insertion Sort */

#include<stdio.h>

int main()
{
int arr[10],i,j,new;
printf("Please enter 10 values:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

for(i=1;i<10;i++)
{
new=a[i];
for(j=i-1;j>=0&&new<a[j];j--)
{
a[j+1]=a[j];
}
a[j+1]=new;
}

printf("Sorted Array is:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);

return 0;
}

Selection Sort

/* Selection Sort */

#include<stdio.h>

int main()
{
int arr[10],i,j,k,t;
printf("Please enter 10 values:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

for(i=0;i<10;i++)
{
k=i;
for(j=i;j<10;j++)
{
if(a[k]>a[j])
k=j;
}
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}

printf("Sorted Array is:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);

return 0;
}

Bubble Sort

/* Bubble Sort */

#include<stdio.h>

int main()
{
int arr[10],i,j,t;
printf("Please enter 10 values:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if (arr[j]>arr[j+1])
{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}

printf("Sorted Array is:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);

return 0;
}

Binary Search

/* Binary Search */

#include<stdio.h>

int main()
{
int arr[10],i,max,min,mid,val,index;

printf("Please enter 10 values in ascending order:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

printf("\nEnter a value to be searched: ");
scanf("%d",&val);

max=9;
min=0;
index=-1;
while(min<=max)
{
mid=(max+min)/2;
if(val==arr[mid])
{
index=mid;
break;
}
if(arr[mid]>val)
max=mid-1;
else
min=mid+1;
}

if(index>=0)
printf("Value found in Array at %d location",index);
else
printf("Value not found in Array");
return 0;
}

File Copy using command line arguments

/* File Copy using command line arguments */

#include<stdio.h>
int main(int argc,char *argv[])
{
FILE *fs,*ft;
int ch;
if(argc!=3)
{
printf("Invalide numbers of arguments.");
return 1;
}
fs=fopen(argv[1],"r");
if(fs==NULL)
{
printf("Can't find the source file.");
return 1;
}
ft=fopen(argv[2],"w");
if(ft==NULL)
{
printf("Can't open target file.");
fclose(fs);
return 1;
}

while(1)
{
ch=fgetc(fs);
if (feof(fs)) break;
fputc(ch,ft);
}

fclose(fs);
fclose(ft);
return 0;
}

File to upper case using command line arguments

/* File to upper case using command line arguments */

#include<stdio.h>
int main(int n,char *a[])
{
int c;
FILE *fr,*fw;

if(n!=3)
{
printf("Invalide numbers of arguments.");
return 1;
}

if((fr=fopen(a[1],"r"))==NULL)
{
printf("File can't be open.");
return 1;
}
if((fw=fopen(a[2],"r+"))==NULL)
{
printf("File can't be open.");
fclose(fr);
return 1;
}
while(1)
{
c=fgetc(fr);
if(feof(fr)) break;
c=~c;
fputc(c,fw);
}
fclose(fr);
fclose(fw);
return 0;
}

Count characters of file

/* Count characters of file */

#include<stdio.h>
int main()
{
FILE *fp;
char a[10];
long cnt=0;
int c;

printf("Type a file name : ");
gets(a);

if((fp=fopen(a,"r"))==NULL)
printf("File dosen't exist.");
else
{
while(1)
{
c=fgetc(fp);
if(feof(fp)) break;
cnt++;
}
printf("\nfile have %ld characters",cnt);
}
fclose(fp);
return 0;
}

Write to text file

/* Write to text file */

#include<stdio.h>
int main()
{
FILE *fp;
char mystr[100];

fp=fopen("mytext.txt","w");
if(fp==NULL)
{
puts("Some error occured.");
return 1;
}

printf("\nEnter some lines:\n");
while(strlen(gets(mystr))>0)
{
fputs(mystr,fp);
fputs("\n",fp);
}
fclose(fp);
return 0;
}

Read text file

/* Read text file */

#include<stdio.h>
int main()
{
FILE *fp;
int ch;

fp=fopen("myfile.txt","r");
if(fp==NULL)
{
printf("Can't find the source file.");
return 1;
}
while(1)
{
ch=fgetc(fp);
if(feof(fp)) break;
printf("%c",ch);
}
fclose(fp);
return 0;
}

Towers of Hanoi by recursion

/* Towers of Hanoi by recursion */

#include<stdio.h>
void toh(int,char,char,char);

int main()
{
int n=3;
toh(n,'A','B','C');
return 0;
}

void toh(int n,char a,char b,char c)
{
if(n==1)
printf("\nMoved from %c to %c",a,c);
else
{
toh(n-1,a,c,b);
toh(1,a,' ',c);
toh(n-1,b,a,c);
}
}

Binary by recursion

/* Binary by recursion */

#include<stdio.h>
void binary(long);
int main()
{
long n;
printf("Type a value : ");
scanf("%ld",&n);
binary(n);
return 0;
}

void binary(long n)
{
if(n>1)
binary(n/2);
printf("%ld",n%2);
}

GCD by Recursion

/* greatest common divisor by recursion */
#include<stdio.h>
int gcd(int,int);

int main()
{
int a,b;
printf("Type 2 values to find GCD :\n");
scanf("%d %d",&a,&b);
printf("GCD : %d",gcd(a,b));
return 0;
}

int gcd(int m,int n)
{
if(n>m) return gcd(n,m);
if(n==0) return m;
return gcd(n,m%n);
}

 

Sum of digit by Recursion

/* Sum of digit by recursion */

#include<stdio.h>
int sod(int);

int main()
{
int i;
printf(" Type any value : ");
scanf("%d",&i);
printf("Sum of digit : %d",sod(i));
return 0;
}

int sod(int n)
{
if(n<1)
return 0;
return(n%10+sod(n/10));
}

Reverse by Recursion

/* Reverse by Recursion */

#include<stdio.h>
int rev(int,int);

int main()
{
int a;
printf("Type a value : ");
scanf("%d",&a);
printf("Reverse: %d",rev(a,0));
return 0;
}

int rev(int i,int r)
{
if(i > 0)
return rev(i/10,(r*10)+(i%10));
return r;
}

Fibonacci by Recursion

/* Fibonacci by Recursion */

#include<stdio.h>
int fib(int);

int main()
{
printf("Type any value : ");
printf("\nNth value: %d",fib(getche()-'0'));
return 0;
}

int fib(int n)
{
if(n<=1)
return n;
return(fib(n-1)+fib(n-2));
}

Power by Recursion

/* Power by Recursion */

#include<stdio.h>
int pow(int,int);

int main()
{
int i,j;
printf("Type two values : \n");
scanf("%d %d",&i,&j);

printf("i pow j = %d",pow(i,j));
return 0;
}

int pow(int i,int j)
{
if(j==1)
return i;
return (i*pow(i,j-1));
}
B
BEING CODERS

Take Your Coding Journey Further!

Find more coding tutorials, technology insights, programming guides, and practical knowledge. Choose your reading experience below!

✦ Keep Learning. Keep Building. Keep Coding. ✦