# NPTEL Problem Solving Through Programming In C WEEK 12 Assignment July 2022

NPTEL Problem solving through Programming In C Week 12 All Programming Assignment Solutions | Swayam 2022. With the growth of Information and Communication Technology, there is a need to develop large and complex software.

This course is aimed at enabling the students to:
• Formulate simple algorithms for arithmetic and logical problems
• Translate the algorithms to programs (in C language)
• Test and execute the programs and  correct syntax and logical errors
• Implement conditional branching, iteration and recursion
• Decompose a problem into functions and synthesize a complete program using divide and conquer approach
• Use arrays, pointers and structures to formulate algorithms and programs
• Apply programming to solve matrix addition and multiplication problems and searching and sorting problems
• Apply programming to solve simple numerical method problems, namely rot finding of function, differentiation of function and simple integration
##### COURSE LAYOUT
• Week 1 : Introduction to Problem Solving through programs, Flowcharts/Pseudo codes, the compilation process, Syntax and Semantic errors, Variables and Data Types
• Week 2 : Arithmetic expressions, Relational Operations, Logical expressions; Introduction to Conditional Branching
• Week 3 : Conditional Branching and Iterative Loops
• Week 4 : Arranging things : Arrays
• Week 5 : 2-D arrays, Character Arrays and Strings
• Week 6 : Basic Algorithms including Numerical Algorithms
• Week 7 : Functions and Parameter Passing by Value
• Week 8 : Passing Arrays to Functions, Call by Reference
• Week 9 : Recursion
• Week 10 : Structures and Pointers
• Week 11 : Self-Referential Structures and Introduction to Lists
• Week 12 : Advanced Topics

Once again, thanks for your interest in our online courses and certification. Happy learning!

#### Course Name : “Problem Solving through Programming In C 2022”

Program : 1  Write a program in C to find the factorial of a given number using pointers.

```				```
#include <stdio.h>
void findFact(int, long int*);
int main()
{
long int fact; //factorial of the number
int num1;
scanf("%d",&num1); //The number is taken from test data

findFact(num1, &fact);
printf("The Factorial of %d is : %ld\n",num1, fact);
return 0;
}

void findFact(int n, long int *f)
{
int i;
*f =1;
for(i=1;i<=n;i++)
*f=*f*i;
}
```
```

#### Course Name : “Problem Solving through Programming In C 2022”

Program : 2  Write a C program to print the Record of the Student Merit wise. Here a structure variable is defined which contains student rollno, name and score.

```				```
#include<stdio.h>
struct student
{
int rollno;
char name[20];
int score;
};
void main()
{
struct student s[20];
int i, n;

scanf("%d" ,&n); //No. of Students taken from test data
// Roll no., Name and Score of n students are taken from test data
for(i=0;i<n;i++)
{
scanf("%d", &s[i].rollno);
scanf("%s", s[i].name);
scanf("%d", &s[i].score);
}
struct student temp;
int j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1;j++)
{
if(s[j].score<s[j+1].score)
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
printf("The Merit List is :\n");
for(i=0;i<n;i++)
{
printf("%d", s[i].rollno);
printf("  %s", s[i].name);
printf("  %d\n", s[i].score);
}

}

```
```

#### Course Name : “Problem Solving through Programming In C 2022”

Program : 3  Write a C program to store n elements using Dynamic Memory Allocation – calloc() and find the Largest element

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

int main()
{
int n;
float *element;

scanf("%d", &n);
element = (float*) calloc(n, sizeof(float));

if(element == NULL)
{
printf("Error!!! memory not allocated.");
exit(0);
}

// Stores the number entered by the user.
int i;
for(i = 0; i < n; ++i)
{
scanf("%f", element + i);
}

// find the largest
for(i = 1; i < n; ++i)
{
if(*element < *(element + i))
*element = *(element + i);
}
printf("Largest element = %.2f\n", *element);
return 0;
}
```
```

#### Course Name : “Problem Solving through Programming In C 2022”

Program : 4 Write a C program to add two distance given as input in feet and inches.

```				```
#include<stdio.h>

struct Distance{
int feet;
int inch;
}d1,d2,sum;

int main()
{
//Enter 1st distance
scanf("%d",&d1.feet);
scanf("%d",&d1.inch);
//Enter 2nd distance
scanf("%d",&d2.feet);
scanf("%d",&d2.inch);
sum.feet=d1.feet+d2.feet;
sum.inch=d1.inch+d2.inch;

/* If inch is greater than 12, converting it to feet. */
if (sum.inch>=12)
{
sum.inch=sum.inch-12;
++sum.feet;
}
printf("Sum of distances = %d feet %d inches",sum.feet,sum.inch);
return 0;
}

```
```