1
CSE 1287
Computer Programming, Spring Fall 2010
Final Exam Course Outline.
In Final Exam, there will be 7 Questions,
You have to answer any 5 Questions (5x14=70). Each question may comprise of
Programs, short questions, finding outputs etc.
Possible Programs to study for the Final Exam
1. Write a program to detect if a number is positive or negative
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a;
scanf("%d", &a);
if (a>=0)
printf("The number is positive.");
else
printf("The number is negetive.");
getch();
}
2. Write a program to detect if a number is even or odd.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int num;
printf(" Enter number: ");
scanf("%d",&num);
if(num%2==0)
2
printf("\n !!!The number is even!!!");
else
printf("\n !!!The number is odd!!!");
getch();
}
3.
Perform Addition, subtraction, division etc. based on users choice.
4. Write a program to find Maximum/Minimum of N integer/long numbers.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int num,max,i,n;
printf(" How many number: ");
scanf("%d",&n);
printf("Enter %d number:",n);
scanf("%d",&num);
max=num;
min=num;
for(i=0;i<n-1;i++)
{ scanf("%d",&num);
if(num>max)
max=num;
}
for(i=0;i<n-1;i++)
{ scanf(%d,&num);
if(num<min)
min=num;
}
printf("The maximum is : %d ",max);
printf(The minimum is : %d,min);
getch();
}
5.
Finding Factorial of a given value from keyboard.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,n;
long res;
scanf("%d",&n);
res=1;
for(i=n;i>0;--i)
{
res=res*i;
}
printf("the factoriAL IS %ld",res);
getch();
}
6. Finding sum of the individual digits of a given number.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int num,sum;
scanf("%d",&num);
sum=0;
while(1)
{
sum=sum+(num%10);
num=num/10;
if(num%10==0)
break;
}
4
printf("%d",sum);
getch();
}
7.
Finding Maximum/Minimum digit from a given long number.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
long num,max;
scanf("%ld",&num);
max=num%10;
while(1)
{
num=num/10;
if(num%10>max)
max=num%10;
if(num%10==0)
break;
}
printf("%ld",max);
getch();
}
8.
GCD (Greatest common divisor) of two integer numbers.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a,b,rem;
5
scanf("%d %d", &a,&b);
while(b>0)
{
rem=a%b;
a=b;
b=rem;
}
printf("%d",a);
getch();
}
9.
Calculate the average of N positive integers.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n,num,i,sum ;
float avg;
sum=0;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
printf("Enter number?");
scanf("%d",&num);
sum=sum+num;
}
avg=(float)sum/n;
printf("avg is %f", avg);
getch();
}
10. To detect if a number is perfect or not.
#include<stdio.h>
#include<conio.h>
void main()
6
{
clrscr();
int i,num,sum;
scanf("%d",&num);
i=1;
sum=0;
while(i<=num/2)
{
if (num%i==0)
sum=sum+i;
++i;
}
if (sum==num)
printf("the number is perfect");
else
printf("the number is not perfect");
getch();
}
11. To detect if a number is prime or not.(vhul)
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,num;
scanf("%d", &num);
i=2;
while (i<=num/2)
{ if (num%2==0)
break;
++i;
}
if(i>num/2)
printf("prime");
else
printf("not prime");
getch();
}
12. Write a program to generate first 4 perfect numbers.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int sum,i,num,count;
num=1;
count=0;
for( ; ; )
{
sum=0;
i=1;
while(i<=num/2)
{ if (num%i==0)
sum=sum+i;
++i;
}
if(sum==num)
{
printf("%d ",num);
count++;
}
if(count>3)
break;
num++;
}
getch();
}
13. First N number of prime number generation where N is an integer given from
keyboard.[see khata ]
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,count,num,n;
scanf(%d,n);
count=1;
num=1;
for( ; ; )
{
i=2;
while(i<=num/2)
{
if (num%i==0)
break;
++i;
}
if(i>num/2)
printf ("%d ",num);
++count;
if (count>n)
break;
num++;
}
getch();
}
14. Calculate Xn for given value of x, n (Without using Math functions)
#include<stdio.h>
#include<conio.h>
void main()
{
9
clrscr();
int i, x ,n;
long res;
scanf("%d %d", &x, &n);
res=x;
for(i=1;i<n;++i)
res=res*x;
printf("XN IS %ld",res);
getch();
}
15. Finding Prime Factors of a long positive integer.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int num,i,res;
scanf("%d",&num);
for(i=2; ; )
{
if(num%i==0)
{res=num/i;
printf("%d ",i);
}
else if (res==1)
break;
num=res;
if (num%i!=0)
++i;
}
getch();
10
}
16. Detect if a number is Happy Number or not .
#include<stdio.h>
#include<conio.h>
#include<math.h>
int suma[810];
void main()
{
clrscr();
long num,sum,rem;
scanf("%ld",&num);
while(1)
{
sum=0;
while(num>0)
{
rem=num%10;
sum=sum+pow(rem,2);
num=num/10;
}
if(sum==1)
{
printf("Happy number");
break;
}
if(suma[sum]==1)
{
printf("Not Happy number");
break;
}
suma[sum]=1;
num=sum;
}
getch();
10
11
}
Single Dimension array
17. Search an item from an array list
#include<stdio.h>
#include<conio.h>
#define size 100
void main()
{
clrscr();
int num[size],i,n,data,found;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&num[i]);
scanf("%d",&data);
found=0;
for(i=0;i<n;++i)
{
if(num[i]==data)
{
found=1;
break;
}
}
if(found==1)
printf("data is found at %d index",i);
else
printf("data not found");
getch();
}
18. Finding Maximum or Minimum number from an array list.
#include<stdio.h>
#include<conio.h>
11
12
void main()
{
clrscr();
int num[100],n,i,max;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d",&num[i]);
if(i==0)
max=num[i];
if(num[i]>max)
max=num[i];
}
printf("maximum number is %d",max);
getch();
}
19. Finding Nth Minimum or Maximum from an array list
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a[15]={1,15,2,54,5,1,59,58,47,48,4,5,22,64,45};
int n,i,j,temp;
scanf("%d",&n);
for(i=0;i<15;++i)
{
for(j=i+1;j<15;++j)
{
if(a[i]<=a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<15;++i)
printf("%d ",a[i]);
12
13
printf("\n%dth maximum %d",n,a[n-1]);
printf("\n%dth minimum %d",n,a[15-n-1]);
getch();
}
20. Frequency count for every individual element from an array list
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
int num[100];
int n,i,j,k,c2,count;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&num[i]);
for(i=0;i<n;++i)
{
count=0;
for(j=0;j<n;++j)
{
if (num[i]==num[j])
count++;
}
c2=0;
for(k=i-1;k>=0;--k)
{
if(num[i]==num[k])
c2++;
}
if(c2==0)
printf("the number of %d is %d\n", num[i],count);
}
getch();
}
13
14
21. Reversing a sentence without using standard String Reverse function
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
char str1[100];
char str2[100];
int i,j,len;
gets(str1);
len=strlen(str1);
j=0;
for(i=len-1;i>=0;--i)
{
str2[j]=str1[i];
++j;
}
strcpy(str1,str2);
str1[len]='\0';
printf("%s",str1);
getch();
}
22. Detect number of words in a sentence.
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
char str[100];
int i,len,count;
gets(str);
14
15
len=strlen(str);
count=0;
for(i=0;i<len;++i)
{
if (str[i]==' ')
count++;
}
printf("Number of words in the sentence is %d",count+1);
getch();
}
23. Title case conversion of a given string
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
void main()
{
clrscr();
char str[100];
int i,len;
gets(str);
len=strlen(str);
for(i=0;i<len;++i)
if (isupper(str[i]))
str[i]=tolower(str[i]);
else
str[i]=toupper(str[i]);
puts(str);
getch();
}
24. Checking a word for palindrome
#include<stdio.h>
#include<conio.h>
#include<string.h>
15
16
void main()
{
clrscr();
char str1[100];
char str2[100];
int i,len,j,res;
gets(str1);
len=strlen(str1);
j=0;
for(i=len-1;i>=0;--i)
{
str2[j]=str1[i];
++j;
}
str2[len]='\0';
res=strcmp(str1,str2);
if (res==0)
printf("The word is palindrome");
else
printf("The word is not palindrome");
getch();
}
25. Average of N floating point numbers using an array
#include<stdio.h>
#include<conio.h>
void main()
{ clrscr();
float a[100];
float sum,avg;
int i,n;
printf("Input n:");
scanf("%d",&n);
printf(Enter %d elements: ,n);
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
16
17
}
sum=0.0;
for(i=0;i<n;i++)
sum=sum+a[i];
avg=sum/n;
printf("The average is:%f",avg);
getch();
}
26. Merge two array list into one array list by removing the duplicate elements
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
int num1[100];
int num2[100];
int n,i,c,c1,k,j;
printf("Enter number of element?\n");
scanf("%d",&n);
printf("Enter data for 1st Array?\n");
for(i=0;i<n;++i)
scanf("%d",&num1[i]);
printf("Enter data for 2nd Array?\n");
for(i=0;i<n;++i)
scanf("%d",&num2[i]);
c1=0;
j=0;
i=n;
for(;;)
{
c=0;
17
18
for(k=0;k<n;++k)
{
if(num1[k]==num2[j])
++c;
}
if(c==0)
{
num1[i]=num2[j];
c1++;
++i;
}
j++;
if(j==n)
break;
}
printf("\n\nAfter merging and Removing duplicate elements=\n \n ");
for(i=0;i<n+c1;i++)
printf(" %d ",num1[i]);
getch();
}
27. Inserting an element in an array which is sorted in ascending/descending order
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int num[100];
int n,i,j,temp,data;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&num[i]);
for(i=0;i<n;++i)
18
19
for(j=i+1;j<n;++j)
if(num[i]>num[j])
{
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
for(i=0;i<n;++i)
printf("%d ",num[i]);
scanf("\n%d",&data);
for(i=0;i<n;++i)
if(data<=num[i])
{
for(j=n-1;j>=i;--j)
num[j+1]=num[j];
num[i]=data;
break;
}
else
num[n]=data;
for(i=0;i<n+1;++i)
printf("%d ",num[i]);
getch();
}
28. Deletion of an element from an array list.
#include<stdio.h>
#include<conio.h>
#define size 100
void main()
{
clrscr();
int num[size],i,j,n,data,count;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&num[i]);
scanf("%d",&data);
19
20
count=0;
for(i=0;i<n;++i)
{
if(num[i]==data)
{
count++;
for(j=i+1;j<n;++j)
num[j-1]=num[j];
}
}
for(i=0;i<n-count;++i)
printf("%d ",num[i]);
getch();
}
29. Print an array of N elements in reverse order.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a[100],a2[100];
int i,n,j;
printf("Input n:");
scanf("%d",&n);
printf("Input %d numbers: ",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=n-1;i>=0;i--)
printf("\n%d",a[i]);
getch();
20
21
}
30. Finding common characters from two given character strings.
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
char str1[100];
char str2[100];
char str3[100];
int len1,len2,i,c,j,k;
gets(str1);
gets(str2);
len1=strlen(str1);
len2=strlen(str2);
k=0;
for(i=0;i<len1;++i)
{
for(j=0;j<len2;++j)
{
if(str1[i]==str2[j])
{
str3[k]=str1[i];
++k;
}
}
}
for(i=0;i<k;++i)
{
c=0;
for(j=i-1;j>=0;--j)
{
21
22
if(str3[i]==str3[j])
c++;
}
if(c==0)
printf("%c",str3[i]);
}
31. Writing programs in C for number system conversion
Binary to Decimal
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<string.h>
void main()
{
clrscr();
char bin[30];
long sum;
int i,len,pval;
gets(bin);
len=strlen(bin);
pval=len-1;
sum=0;
for(i=0;i<len;i++)
{
sum=sum+(bin[i]- 48)*pow(2,pval);
pval--;
}
printf("The decimal value is:%ld",sum);
getch();
}
22
23
Decimal to Binary
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{ clrscr();
long dec;
int rem,i;
char bin[50];
printf("What is the decimal number?:");
scanf("%ld",&dec);
i=0;
while(dec>0)
{ rem=dec%2;
dec=dec/2;
bin[i]=char(rem+48);
i++;
}
bin[i]='\0';
strrev(bin);
printf("\nThe binary value is:%s",bin);
getch();
}
Decimal to Hex
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{ clrscr();
long dec;
int rem,i;
char bin[50];
printf("What is the decimal number?:");
scanf("%ld",&dec);
23
24
i=0;
while(dec>0)
{ rem=dec%16;
dec=dec/16;
if(rem>9)
bin[i]=char(rem+55);
else
bin[i]=char(rem+48);
i++;
}
bin[i]='\0';
strrev(bin);
printf("\nThe hexadecimal value is:%s",bin);
getch();
}
Hex to Decimal
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<string.h>
long todecimal(char num[]);
void main()
{
clrscr();
char num[30];
long dec;
printf("What is the Hexadecimal number?:");
gets(num);
dec=todecimal(num);
printf("The decimal value is:%ld",dec);
getch();
}
long todecimal(char num[])
{ long sum;
int i,len,pval;
len=strlen(num);
24
25
pval=len-1;
sum=0;
for(i=0;i<len;i++)
{
if(num[i]-48<=9)
sum=sum+(num[i]-48)*pow(16,pval);
else
sum=sum+(num[i]-55)*pow(16,pval);
pval--;
}
return sum;
}
32. Sort an Array of N integers using Bubble Sort technique.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a[100];
int i,j,n,temp;
printf("Enter length: ");
scanf("%d",&n);
printf(" Enter %d elements: ",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
25
26
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\nSorted array is: ");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
getch();
}
33. Calculating Standard deviation from an array list
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
float num[100];
float sum,sd,avg;
int n,i;
scanf("%d",&n);
sum=0.0;
for(i=0;i<n;++i)
{
scanf("%f",&num[i]
);
sum=sum+num[i];
}
avg=sum/n;
sum=0.0;
for(i=0;i<n;++i)
{
sum=sum+pow((avg-num[i]),2);
}
sd=sqrt(sum/n);
printf("%f",sd);
getch();
26
27
34. Median calculation from an array list
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a[100],n,i,j,temp;
float t1;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&a[i]);
for(i=0;i<n;++i)
{
for(j=i+1;j<n;++j)
{
if(a[i]>=a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("After sorting");
for(i=0;i<n;++i)
printf(" %d ",a[i]);
if(n%2!=0)
printf("\n\nThe median of the array list is %d",a[n/2]);
else
{
t1=(a[n/2]+a[(n/2)-1])/2.0;
printf("\n\nThe median of the array list is %f",t1);
27
28
}
getch();
}
35. Removing duplicate elements from an array list
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
int i,n,j,k,count;
int num[100];
printf("How many element\n?");
scanf("%d",&n);
printf("Enter number?\n");
for(i=0;i<n;++i)
{
scanf("%d",&num[i]);
}
count=0;
for(i=0;i<n;++i)
{
for(j=i+1;j<n-count;++j)
{
if (num[i]==num[j])
{
for(k=j;k<n;++k)
num[k]=num[k+1];
count++;
}
}
}
for(i=0;i<n-count;++i)
printf("%d ",num[i]);
28
29
getch();
}
36. Finding LCM (Least Common Multiple) of N numbers
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,j,n,l,c1,c2;
int num[100];
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&num[i]);
j=2;l=1;
while(1)
{
c2=0;
c1=0;
for(i=0;i<n;++i)
{
if(num[i]%j==0)
num[i]=num[i]/j;
else
c1++;
if(num[i]==1)
c2++;
}
if(c1>=0&&c1<n)
l=l*j;
if(c1==n)
j++;
if(c2==n)
break;
}
29
30
printf("Lcm is %d",l);
getch();
}
37. Addition of two Large Decimal or Binary numbers using String
#include<stdio.h>
#include<conio.h>
#include<string.h>
char str1[100];
char str2[100];
char str3[100];
void main()
{
clrscr();
int sum,i,len1,len2,len,carry;
gets(str1);
gets(str2);
strrev(str1);
strrev(str2);
len1=strlen(str1);
len2=strlen(str2);
if(len1>len2)
len=len1;
else
len=len2;
carry=0;
for(i=0;i<len;++i)
{
if(str1[i]=='\0')
str1[i]='0';
if(str2[i]=='\0')
str2[i]='0';
30
31
sum=(str1[i]-48)+(str2[i]-48)+carry;
if(sum>9)
{
sum=sum%10;
carry=1;
}
else
carry=0;
str3[i]=char(sum+48);
}
if(carry==1)
{
str3[i]='1';
++i;
}
str3[i]='\0';
strrev(str3);
puts(str3);
getch();
}
./*Addition of 2 Binary numbers
using string*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
char str1[50],str2[50],str3[55];
int len1,len2,len3,sum,carry,i,len;
printf("Enter 1st Binary number: ");
gets(str1);
printf("Enter 2nd Binary number: ");
gets(str2);
31
32
strrev(str1);
strrev(str2);
len1=strlen(str1);
len2=strlen(str2);
if(len1>len2)
len=len1;
else
len=len2;
carry=0;
for(i=0;i<len;i++)
{
if(str1[i]=='\0')
str1[i]='0';
if(str2[i]=='\0')
str2[i]='0';
sum=(str1[i]-48)+(str2[i]-48+carry);
if(sum>1)
{
sum=sum%2;
carry=1;
}
else
carry=0;
str3[i]=char(sum+48);
}
if(carry==1)
{
str3[i]='1';
i++;
}
str3[i]='\0';
strrev(str3);
printf("The sum is: ");
puts(str3);
32
33
getch();
}
Functions:
Study the Class Lectures so that you can write any programs using functions:
Parameter Passing to a function using call by value and call by reference
Passing Array / character string in a function
Returning values from functions.
38. Write a function GCD( int a, int b) and a main function that calls the GCD(a, b)
function and calculates GCD of 4 numbers.
#include<stdio.h>
#include<conio.h>
int a,b,c,d,res,res1;
int gcd(int a,int b)
{
for(;;)
{
res=b%a;
b=a;
a=res;
if (a==0)
break;
}
return b;
}
void main()
33
34
{
clrscr();
printf("Enter numbers?\n");
scanf("%d %d %d %d",&a,&b,&c,&d);
res1=gcd(a,b);
res1=gcd(c,res1);
res1=gcd(d,res1);
printf("The GCD is %d ",res1);
getch();
}
39. Write a function fact(int a) that calculates the factorial of a number
#include<stdio.h>
#include<conio.h>
long fact(int a)
{
int i;long fact=1;
for(i=a;i>0;--i)
fact=fact*i;
return fact;
}
void main()
{
clrscr();
int n;
long facto;
scanf("%d",&n);
facto=fact(n);
printf("The Factorual of the number: %ld",facto);
getch();
}
34
35
40. Write a program using function that calculates nCr = (n ! ) / ( !r ) * (n-r)!
#include<stdio.h>
#include<conio.h>
long fact(int a)
{
int i;long fact=1;
for(i=a;i>0;--i)
fact=fact*i;
return fact;
}
void main()
{
clrscr();
int n,r;
long facto,f1,f2,f3;
scanf("%d %d",&n,&r);
f1=fact(n);
f2=fact(r);
f3=fact(n-r);
facto=f1/(f2*f3);
printf("The nCr is : %ld",facto);
getch();
}
41. Write a function Max(int a, int b) and a main function that calls the Max(a, b)
function and calculates Maximum of N numbers.
#include<stdio.h>
#include<conio.h>
int Max(int a,int b)
{
if (a>b)
return a;
else
return b;
35
36
}
void main()
{
clrscr();
int num,n,i,max;
scanf("%d",&n);
scanf("%d",&num);
max=num;
for (i=0;i<n-1;++i)
{
scanf("%d",&num);
max=Max(max,num);
}
printf("%d",max);
getch();
}
42. Write a function IsPrime(int a) that returns 1 if the parameter variable a is a
prime number, otherwise 0. Write a main function that calls the IsPrime(a)
function and displays whether a given number from keyboard is Prime or not.
#include<stdio.h>
#include<conio.h>
int Isprime (int a)
{
int i;
for(i=2;i<a/2;++i)
36
37
{
if (a%i==0)
return 0;
}
return 1;
}
void main()
{
clrscr();
int num,res;
scanf("%d",&num);
res=Isprime(num);
if (res==1)
printf("The Number is prime");
if(res==0)
printf("The Number is not prime");
getch();
}
43. Write a function LCM( int a, int b) and a main function that calls the LCM(a, b)
function and calculates LCM of 4 numbers.
#include<stdio.h>
#include<conio.h>
long LCM(int a,int b);
void main()
{
clrscr();
long res;
int a,n,i,b;
printf("Calculate LCM of ? numbers ");
scanf("%d",&n);
scanf("%d",&a);
res=a;
37
38
for(i=0;i<n-1;++i)
{
scanf("%d",&b);
res=LCM(res,b);
}
printf("LCM is %ld",res);
getch();
}
Two dimension array
44. Addition of two 2D matrix (ordinary cell by cell Addition)
#include<stdio.h>
#include<conio.h>
#define r 4
#define c 4
void main()
{
clrscr();
int mat1[r][c];
int mat2[r][c];
int mat3[r][c];
int i,j;
for(i=0;i<r;++i)
for(j=0;j<c;++j)
scanf("%d",mat1[i][j]);
for(i=0;i<r;++i)
for(j=0;j<c;++j)
scanf("%d",mat2[i][j]);
for(i=0;i<r;++i)
for(j=0;j<c;++j)
38
39
mat3[i][j])=mat1[i][j]+mat2[i][j];
for(i=0;i<r;++i)
{
for(j=0;j<c;++j)
{
printff("%d",mat3[i][j]);
}
printf("\n\n");
}
getch();
}
45. Multiplication of two 2D matrix (ordinary cell by cell multiplication )
#include<stdio.h>
#include<conio.h>
#define r 2
#define c 2
void main()
{
clrscr();
int mat1[r][c];
int mat2[r][c];
int mat3[r][c];
int i,j;
for(i=0;i<r;++i)
for(j=0;j<c;++j)
scanf("%d",&mat1[i][j]);
for(i=0;i<r;++i)
for(j=0;j<c;++j)
scanf("%d",&mat2[i][j]);
for(i=0;i<r;++i)
for(j=0;j<c;++j)
mat3[i][j]=mat1[i][j]*mat2[i][j];
39
40
for(i=0;i<r;++i)
{
for(j=0;j<c;++j)
{
printf(" %d ",mat3[i][j]);
}
printf("\n\n");
}
getch();
}
46. Transpose a 2D matrix
#include<stdio.h>
#include<conio.h>
#define r 4
#define q 4
void main()
{
clrscr();
int row,col;
int num[r][q];
int num2[r][q];
for(row=0;row<r;++row)
{
for(col=0;col<q;++col)
scanf("%d",&num[row][col]);
}
for(row=0;row<r;++row)
{
for(col=0;col<q;++col)
{
printf(" %d ",num[row][col]);
}
printf("\n\n");
}
40
41
printf("\nAfter transposing\n\n");
for(row=0;row<r;++row)
{
for(col=0;col<q;++col)
{
num2[col][row]=num[row][col];
}
}
for(row=0;row<r;++row)
{
for(col=0;col<q;++col)
{
printf(" %d ",num2[row][col]);
}
printf("\n\n");
}
getch();
}
47. Magic Square of ( N x N ) matrix where N is an odd number.
#include<stdio.h>
#include<conio.h>
int matrix[100][100];
void main()
{
clrscr();
int r,c,start,num,n;
scanf("%d",&n);
start=n/2;
num=2;
41
42
matrix[0][start]=1;
r=0;
c=start;
while(1)
{ r=r-1;
c=c+1;
if(r<0&&c<n)
{ r=n-1;
matrix[r][c]=num;
}
else if(r>=0&&r<n&&c<n&&matrix[r][c]==0)
{
matrix[r][c]=num;
}
else if(r>=0&&r<n&&c>=n)
{ c=0;
matrix[r][c]=num;
}
else if(r<0&&c>=n)
{ r=r+2;
c=c-1;
matrix[r][c]=num;
}
else if(r>=0&&r<n&&c>=0&&c<n&&matrix[r][c]!=0)
{ r=r+2;
c=c-1;
matrix[r][c]=num;
}
if(n*n==num)
break;
num++;
}
for(r=0;r<n;++r)
{
for(c=0;c<n;++c)
{
printf("%d\t",matrix[r][c]);
}
printf("\n\n");
}
42
43
getch();
}
Structure and Union
#include<stdio.h>
#include<conio.h>
#define total 2
void input();
void calcavg();
void display();
struct list
{
long roll;
float quiz[3],avg;
};
struct list student[total];
void main()
{
clrscr();
input();
calcavg();
display();
getch();
}
void input()
43
44
{
int i,j;
float q;
for(i=0;i<total;++i)
{
printf("Enter roll of student %d\n",i+1);
scanf("%ld",&student[i].roll);
for(j=0;j<3;++j)
{
printf("Enter quiz %d marks\n",j+1);
scanf("%f",&q);
student[i].quiz[j]=q;
}
}
}
void calcavg()
{
int i,j;
float average,sum;
for(i=0;i<total;++i)
{
sum=0.0;
for(j=0;j<3;++j)
{
sum= sum+student[i].quiz[j];
}
average=sum/3;
student[i].avg=average;
}
}
void display()
{
int i,j;
for(i=0;i<total;++i)
{
for(j=0;j<3;++j)
{
printf("student %d quiz %d marks :%f \n",i+1,j+1,student[i].quiz[j]);
}
printf("\nAvg of student %d : %f\n\n",i+1,student[i].avg);
}
44
45
}
Recursion
48. Find X Using recursive functions
n
#include<stdio.h>
#include<conio.h>
long xn(int x,int n);
void main()
{
clrscr();
int x,n;
long res;
scanf("%d %d",&x,&n);
res=xn(x,n);
printf("%ld",res);
getch();
}
long xn(int x,int n)
{
if(n==0)
return 1;
return(x*xn(x,n-1));
}
49. Find factorial of N using a recursive function
#include<stdio.h>
#include<conio.h>
long fact(int n);
void main()
{
clrscr();
int num;
45
46
long res;
printf("What is the number?=");
scanf("%d",&num);
res= fact(num);
printf("The result is:%ld ",res);
getch();
}
long fact(int n)
{
long res;
res=1;
while(n>1)
{ res=res*n;
n--;
}
return res;
}
50. Finding Nth Fibonacci term using recursion and drawing recursion tree for the
Nth term.
#include<stdio.h>
#include<conio.h>
long fabo(int n);
void main()
{
clrscr();
int n;
long res;
scanf("%d",&n);
res=fabo(n);
printf("%ld",res);
getch();
}
long fabo(int n)
{
46
47
if(n==1)
return 0;
if(n==2)
return 1;
return (fabo(n-1)+fabo(n-2));
}
51. Calculate the sum of the numbers 1 to 100 or 1 to N using a recursive function.
#include<stdio.h>
#include<conio.h>
long sum(int n);
void main()
{
clrscr();
int n;
long res;
scanf("%d",&n);
res=sum(n);
printf("%ld",res);
getch();
}
long sum(int n)
{
if(n==1)
return 1;
return(n+sum(n-1));
}
52. Display the following series up to nth terms using a recursive function 6 18 108
1944 20952
#include<stdio.h>
#include<conio.h>
47
48
long sum(int n);
void main()
{
clrscr();
int n,i;
long res;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
res=sum(i);
printf("%ld ",res);
}
getch();
}
long sum(int n)
{
if(n==1)
return 6;
if(n==2)
return 18;
return(sum(n-1)*sum(n-2));
}
48