# Question 2 - 3 Functions

itsLu
c_cpp
2 months ago
1.8 kB
34
Indexable
Never
```/* 2. Write 3 functions to: generate 20 unrepeated random numbers with values
between 30 and 80, sort these numbers using bubble sort algorithm, and and print
the numbers after sorting. Write a main program to call these 3 functions. */

#include <iostream>
#include <ctime> //or <time.h>
#include <random> //مش مهمة بس الدكتور بيحطها
using namespace std;

void fillArray (int arr[], int minNum, int maxNum, int arraySize)
{
int temp, k, p;
bool flag;
srand(time(NULL)); //or srand(time(0));
for (k = 0 ; k < arraySize ; k++)
{
flag = false;
temp = minNum + rand()%(maxNum - minNum + 1);
for (p = 0 ; p < k ; p++)
{
if (arr[p] == temp)
{
flag = true;
break;
}
}
if (flag == false)
arr[k] = temp;
else
k--;
/* or
if (p == k)
arr[k] = temp;
else
k--;
*/
}
}

void bubble_sort (int arr[], int arraySize)
{
int temp;
bool flag;
for (int p = 0 ; p < arraySize - 1 ; p++)
{
flag = false;
for (int c = 0 ; c < arraySize - p - 1 ; c++)
{
if (arr[c] > arr[c+1])
{
temp = arr[c];
arr[c] = arr[c+1];
arr[c+1] = temp;
flag = true;
}
}
if (flag == false)
break;
}
}

void printArray (int arr[], int arraySize)
{
for (int k = 0 ; k < arraySize ; k++)
{
cout << arr[k] << "\t";
}
}

int main()
{
int arr[20];
fillArray(arr, 30, 80, 20);
printArray(arr, 20);
cout << endl;
bubble_sort(arr, 20);
printArray(arr, 20);
}
```