Możesz zaimplementować funkcję fill2 w następujący sposób:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void fill2(int tab[], int n, int a, int b)
{
// Zainicjalizuj generator liczb losowych
srand(time(NULL));
// Wypełnij tablicę liczbami losowymi z przedziału [a, b]
for (int i = 0; i < n; i++)
tab[i] = rand() % (b - a + 1) + a;
// Posortuj elementy tablicy w kolejności niemalejącej
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (tab[i] > tab[j])
{
// Zamień miejscami elementy tab[i] i tab[j]
int temp = tab[i];
tab[i] = tab[j];
tab[j] = temp;
}
}
}
}
int main()
{
// Przykładowe użycie funkcji fill2
int tab[10];
fill2(tab, 10, 2, 20);
// Wypisz elementy tablicy
for (int i = 0; i < 10; i++)
printf("%d ", tab[i]);
printf("\n");
return 0;
}
Powyższy kod używa funkcji rand() z biblioteki standardowej C do losowania liczb całkowitych z przedziału [a, b]. Następnie sortuje elementy tablicy w kolejności niemalejącej przy użyciu prostego algorytmu sortowania bąbelkowego.