0% found this document useful (0 votes)
21 views6 pages

BSAI23014 Lab 12

The document contains examples of C++ programs demonstrating the use of pointers, arrays, functions and passing parameters by reference. It includes programs to swap values, find minimum/maximum elements, double array values, and check for prime numbers.

Uploaded by

supersitara1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views6 pages

BSAI23014 Lab 12

The document contains examples of C++ programs demonstrating the use of pointers, arrays, functions and passing parameters by reference. It includes programs to swap values, find minimum/maximum elements, double array values, and check for prime numbers.

Uploaded by

supersitara1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

#include <iostream>

using namespace std;

void swap(int& a, int& b)


{
int temp = a;
a = b;
b = temp;
}
void main1() {

int n1;
int n2;
cout << "Enter number 1:\n";
cin >> n1;
cout << "Enter number 2:\n";
cin >> n2;
cout << "Before swapping: num1 = " << n1 << ", num2 = " << n2 << endl;
swap(n1, n2);
cout << "After swapping: num1 = " << n1 << ", num2 = " << n2 << endl;
}

void findMinAndSecMin(int& min, int& secMin)


{
int nums[5];

cout << "Enter five unique integer numbers: ";


for (int i = 0; i < 5; ++i)
{
cin >> nums[i];
}
if (nums[0] < nums[1])
{
min = nums[0];
secMin = nums[1];
}
else
{
min = nums[1];
secMin = nums[0];
}
for (int i = 2; i < 5; ++i)
{
if (nums[i] < min)
{
secMin = min;
min = nums[i];
}
else if (nums[i] < secMin && nums[i] != min)
{
secMin = nums[i];
}
}
}
void main2()
{
int min, secMin;
findMinAndSecMin(min, secMin);
cout << "Minimum: " << min << ", Second Minimum: " << secMin << endl;
}

void MaxAverage(float avg1, char sec1, float avg2, char sec2, float avg3, char
sec3, float avg4, char sec4, float avg5, char sec5, char& maxSec, float&
maxSecMarks) {
if (avg1 >= avg2 && avg1 >= avg3 && avg1 >= avg4 && avg1 >= avg5)
{
maxSecMarks = avg1;
maxSec = sec1;
}
else if (avg2 >= avg1 && avg2 >= avg3 && avg2 >= avg4 && avg2 >= avg5)
{
maxSecMarks = avg2;
maxSec = sec2;
}
else if (avg3 >= avg1 && avg3 >= avg2 && avg3 >= avg4 && avg3 >= avg5)
{
maxSecMarks = avg3;
maxSec = sec3;
}
else if (avg4 >= avg1 && avg4 >= avg2 && avg4 >= avg3 && avg4 >= avg5)
{
maxSecMarks = avg4;
maxSec = sec4;
}
else {
maxSecMarks = avg5;
maxSec = sec5;
}
}
void main3() {
float avg1, avg2, avg3, avg4, avg5;
char sec1, sec2, sec3, sec4, sec5;

cout << "Enter Average Marks and Section Names for 5 courses:" << endl;
cin >> avg1 >> sec1 >> avg2 >> sec2 >> avg3 >> sec3 >> avg4 >> sec4 >> avg5 >>
sec5;

char maxSec;
float maxSecMarks;

MaxAverage(avg1, sec1, avg2, sec2, avg3, sec3, avg4, sec4, avg5, sec5, maxSec,
maxSecMarks);

cout << "Maximum Average is " << maxSecMarks << " by Section " << maxSec <<
endl;

int main() {
int a;
cout << "Enter Question Number:";
cin >> a;
if (a == 1)
{
main1();
}
if (a == 2)
{
main2();
}
if (a == 3)
{
main3();
}
return 0;
}

void swapP(int** ptr1, int** ptr2)


{
int* temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}

void main4() {
int num1 = 5;
int num2 = 10;
int* ptr1 = &num1;
int* ptr2 = &num2;

cout << "Before swapping:" << endl;


cout << "ptr1 points to: " << *ptr1 << endl;
cout << "ptr2 points to: " << *ptr2 << endl;
swapP(&ptr1, &ptr2);
cout << "After swapping:" << endl;
cout << "ptr1 points to: " << *ptr1 << endl;
cout << "ptr2 points to: " << *ptr2 << endl;

void main5()
{
int arr[50], n;
cout << "Enter size of array: ";
cin >> n;
for (int i = 0; i < n; i++)
{
*(arr + i) = 0;
}
}

void main6()
{
int arr[500], n;
cout << "Enter size of array: ";
cin >> n;
for (int i = 0; i < n; i++)
{
*(arr + i) = i;
}
}
void main7()
{
int arr[50], n;
cout << "Enter size of array: ";
cin >> n;
for (int i = 0; i < n; i++)
{
*(arr + i) = 2 * i;
}
}

bool isPrime(int num)


{
bool prime = true;
for (int i = 2; i <= num / 2; i++)
{
if (num % i == 0)
{
prime = false;
}
}
if (num < 2)
{
return false;
}
else
{
return prime;
}
}
int main8()
{
int arr[50], n;
int k = 0;
cout << "no of elements of array: ";
cin >> n;
for (int i = 0; i < n; i++)
{
while (!isPrime(k))
{
k++;
}
*(arr + i) = k;
k++;
}
return 0;
}
void print(int arr[], int n)
{
for (int i = 0; i < n; i++)
{
cout << *(arr + i) << " ";
}
}
void DoubleIt(int arr[], int size)
{
for (int i = 0; i < size; i++)
{
*(arr + i) *= 2;
}
}
int main9()
{
int arr[5];
cout << "Enter 5 elements of the array" << endl;
for (int i = 0; i < 5; i++)
{
cin >> *(arr + i);
}
DoubleIt(arr, 5);
cout << "Doubled array is: ";
print(arr, 5);
return 0;
}

void findMinMax(int arr[], int size, int& max, int& secMax, int& min, int& secMin)
{
max = *(arr);
secMax = *(arr + 1);
min = *(arr);
secMin = *(arr + 1);
for (int i = 0; i < size; i++)
{
if (*(arr + i) > max)
{
secMax = max;
max = *(arr + i);
}
else if (*(arr + i) > secMax && *(arr + i) != max)
{
secMax = *(arr + i);
}
if (*(arr + i) < min)
{
secMin = min;
min = *(arr + i);
}
else if (*(arr + i) < secMin && *(arr + i) != min)
{
secMin = *(arr + i);
}
}
}
int main10()
{
int arr[10], max, secMax, min, secMin;
cout << "Enter 10 elements of the array" << endl;
for (int i = 0; i < 10; i++)
{
cin >> *(arr + i);
}
findMinMax(arr, 10, max, secMax, min, secMin);
cout << "Max: " << max << endl;
cout << "Second Max: " << secMax << endl;
cout << "Min: " << min << endl;
cout << "Second Min: " << secMin << endl;
return 0;
}

You might also like