ОС1/Септембар 1 2025
- Овај рок није решен. Помозите СИ Wики тако што ћете га решити.
Одбрана пројекта 2025. године одржана је 08.10.2025.
Потребно је динамички алоцирати матрицу мат целих бројева (инт), димензија M*Н, где се M и Н учитавају са стандардног улаза и имају произвољан број цифара. Матрицу након алоцирања попунити псеудослучајним вердностима. За генерисање псеудослучајних вредности користити следећи сегмент кода:
static unsigned long int next = 1;
int custom_rand(void) {
next = next * 1103515245 + 12345;
return (unsigned int) (next / 65536) % 34768;
}
void custom_srand(unsigned int seed) {
next = seed;
}
Потребно је направити хистограм Х[10] броја појављивања вредности унутар матрице по модулу 10 (мат[и][ј]%10) за све елементе. Прављење хистограма одратити креирањем M упоредних нити где свака нит рачуна локални хистограм за једну врсту, а након тога тај хистограм спаја с дељеним хистограмом у којем ће се налазизи финалне вредности за целу матрицу. Главна нит треба да ипсише коначни хистограм када све нити заврше обраду.
20 поена: Током извршавања нити, након сваких 10 ображених елемената позвати диспатцх
30 поена: Током извршавања нити, након сваких 10 ображених елемената успавати нит на 5 периода тајмера