brikdelay, ta méthode est bonne, mais c'est pour du C de l'age de pierre.
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void remplit_matrice(int *matrice, int n)
- {
- int i, j;
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++) {
- *(matrice + (i*n) + j) = rand()%10;
- }
- }
- }
- int main(int argc, char *argv[])
- {
- int matrix[3][3];
- srand(time(NULL));
- remplit_matrice((int *)matrix, 3);
- int i, j;
- for (i = 0; i < 3; i++) {
- for (j = 0; j < 3; j++) {
- printf("%d ", matrix[i][j]);
- }
- printf("\n" );
- }
- return 0;
- }
|
Si tu veux approfondir la question, pour ce type de C, tu as cette excellente page en anglais: http://www.geeksforgeeks.org/pass- [...] rameter-c/
Depuis, on a fait mieux avec le C99, ou tu peux écrire:
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- // la taille doit apparaitre en premier ici
- void remplit_matrice(int n, int matrice[n][n])
- {
- int i, j;
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++) {
- matrice[i][j] = rand()%10;
- }
- }
- }
- int main(int argc, char *argv[])
- {
- int matrix[3][3];
- srand(time(NULL));
- remplit_matrice(3, matrix);
- int i, j;
- for (i = 0; i < 3; i++) {
- for (j = 0; j < 3; j++) {
- printf("%d ", matrix[i][j]);
- }
- printf("\n" );
- }
- return 0;
- }
|
C99, ça date suffisamment pour qu'on puisse supposer qu'un compilo normal l'implémente.
A+,
Message édité par gilou le 15-10-2014 à 23:51:23
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --