Hands on Programming Solution(Giridhar)
Hands on Programming Solution(Giridhar)
Exercise No. 3
Date : 06.11.2024
Q.
Question Detail Level
No.
1
PROBLEM SOLVING
for(int i=n-1;i>=0;i--)
{
if(r==arr[i])
return i;
else if(r<arr[i])
{
count++;
}
}
for (int i = n; i > n - count; i--)
{
arr[i] = arr[i - 1];
}
arr[n-count]=r;
return (n-count);
}
int main()
{
int n,position;
printf("Enter the number of elements in array : ");
scanf("%d",&n);
int arr[n+1],r;
printf("Enter the elements(Ascending):");
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
printf("The array is ");
for(int i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
printf("\nEnter the element to be in which index:");
2
PROBLEM SOLVING
scanf("%d",&r);
position=order(n,arr,r);
printf("The element %d is in position %d",r,position);
/*if(position==-1)
{
n++;
printf("The updated array : ");
for(int i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
}
else{
printf("The element %d is in position %d",r,position);
}*/
return 0;
}
Output:
Enter the number of elements in array : 6
Enter the elements(Ascending):1 2 3 4 7 9
The array is 1 2 3 4 7 9
Enter the element to be in which index:3
The element 3 is in position 2
3
PROBLEM SOLVING
Sample Input:
N: 582109
Sample Output:
SumOfSumsOfDigits: 85
Sample Input:
N: 5
Sample Output:
Please Try again!!
Program:
#include<stdio.h>
int main()
{
int num,dig=0;
int rem;
printf("Enter the number:");
scanf("%d",&num);
int temp=num;
if(num>9)
{
while(num!=0)
{
rem=num%10;
dig++;
num/=10;
4
PROBLEM SOLVING
}
num=temp;
rem=0;
//printf("Number : %d - Digit : %d\n",num,dig);
int arr[dig],sum=0;
for(int i=0;i<dig;i++)
{
rem=num%10;
arr[i]=rem;
num/=10;
}
for(int i=0;i<dig;i++)
{
for(int j=0;j<(dig-i);j++)
{
sum+=arr[j];
}
}
printf("Sums of sums of Digit:%d",sum);
}
else{
printf("SIngle digit is Invalid. Please Try again!");
}
}
Output:
Enter the number:582109
Sums of sums of Digit:85
Enter the number:5
Single digit is Invalid. Please Try again!
5
PROBLEM SOLVING
Program:
#include<stdio.h>
#include<string.h>
int main(){
char str1[255];
printf("Enter the incomplete word: ");
gets(str1);
char str2[255];
int found=0;
char *token;
printf("Enter the word list (separated by colons) :");
scanf("%s",str2);
token=strtok(str2,":");
printf("\nPossible words:");
while(token!=NULL)
{
if(strlen(token)==strlen(str1))
{
found=1;
6
PROBLEM SOLVING
for(int i=0;i<strlen(str1);i++)
{
if(str1[i]!='_' && str1[i]!=token[i])
{
found=0;
break;
}
}
if(found)
{
printf("\n%s",token);
}
}
token = strtok(NULL, ":");
}
return 0;
}
Output:
Enter the incomplete word: fi_er
Enter the word list (separated by colons):
fever:filer:filter:fixer:fiber:fibre:tailor:offer
Possible words:
filer
fixer
fiber
7
PROBLEM SOLVING
return ones;
}
int pintens(int t1,int t2,int t3){
int tens = (t1<t2)?((t1<t3)? t1:t3):((t2<t3)?t2:t3);
return tens;
}
int pinhundreds(int h1,int h2,int h3) {
int hundreds=(h1<h2)?((h1<h3)?h1:h3):((h2<h3)?
h2:h3);
return hundreds;
}
int main(){
int num1,num2,num3;
int arr1[3],arr2[3],arr3[3],arr[9];
int ones,tens,hundreds,thousands,pin;
9
PROBLEM SOLVING
for(int i=2;i>=0;i--){
arr1[i]=num1%10;
num1/=10;
arr2[i]=num2%10;
num2/=10;
arr3[i]=num3%10;
num3/=10;
}
for(int i=0;i<3;i++) {
arr[i]=arr1[i];
arr[i+3]=arr2[i];
arr[i+6]=arr3[i];
}
ones=pinones(arr1[2],arr2[2],arr3[2]);
tens=pintens(arr1[1],arr2[1],arr3[1]);
hundreds=pinhundreds(arr1[0],arr2[0],arr3[0]);
thousands=pinthousands(arr,9);
printf("\nOnes place: %d",ones);
printf("\nTens place: %d",tens);
printf("\nHundreds place: %d",hundreds);
printf("\nThousands place: %d",thousands);
pin=calculatepin(thousands,hundreds,tens,ones);
printf("\nPIN: %d",pin);
return 0;
}
Output:
Enter Number 1: 123
Enter Number 2: 582
Enter Number 3: 172
Ones place: 2
Tens place: 2
Hundreds place: 1
Thousands place: 8
PIN: 8122
1
0
PROBLEM SOLVING
1
2
PROBLEM SOLVING
Sample Output
Employee Number:
1002 Employee
Name: Sushma
Department: PM
Designation: c
Total Salary: 65000
Program:
#include <stdio.h>
1
3
PROBLEM SOLVING
#include <string.h>
#define MAX_EMPLOYEES 100
struct employee {
char empno[10];
char empname[50];
char date[11];
char designation;
char dept[50];
int salary;
int rent;
int tax;
};
int main() {
struct employee employees[MAX_EMPLOYEES] = {
{"1001", "Ashish", "01/04/2009", 'e', "R&D", 20000,
8000, 3000},
{"1002", "Sushma", "23/08/2012", 'c', "PM", 30000,
12000, 9000},
{"1003", "Rahul", "12/11/2008", 'k', "Acct", 10000,
8000, 1000},
{"1004", "Chahat", "29/01/2013", 'r', "Front Desk",
12000, 6000,2000},
{"1005", "Ranjan", "16/07/2005",'m', "Engg", 50000,
20000,20000},
{"1006", "Suman", "01/01/2000", 'e',
"Manufacturing", 23000, 9000,4400},
{"1007", "Tanmay", "12/06/2006", 'c', "PM", 29000,
12000, 10000}
};
char empnum[10];
int adj_sal, tot_sal;
//int found = 0;
}
if(found!=1)
{
printf("The employee is not present");
}
return 0;
}
Output:
Enter the Employee number: 1001
Employee number: 1001
Employee Name: Ashish
Department: R&D
Designation: e
1
5
PROBLEM SOLVING
1
6