La secuencia de enteros pseudo-aleatorios se puede generar como sigue: unsigned a, c, x; // el tipo unsigned normalmente es un tipo entero de 32 bits sin signo scanf("%u%u%u", &a, &c, &x); // con scanf se requiere %u para leer o imprimir variables unsigned (%d es para enteros con signo) for (int i = 0; i < 20; ++i) { // generando los primeros 20 enteros pseudo-aleatorios printf("%u ", x); // imprimiendo el entero pseudo-aleatorio actual x = a * x + c; // pasando al siguiente entero pseudo-aleatorio } En la tarea necesitarán matrices bastante grandes. Si las declaran como variables locales ordinarias y están usando Windows, seguramente tendrán problemas. Una manera simple de poder declarar la matriz sin problemas (y que comience inicializada con ceros) es declararla como global o con la palabra static.