-------- TP13 : Tableaux multidimensionnels --------


1.

# include <stdio.h>
# include <stdlib.h>

int main(void) {
	/* Déclaration des tableaux */
	int t1[2][5];
	int t2[3][5];
	int t3[5][5];
	int compteur;
	/* Remplissage des tableaux */
	int i;
	int j;
	/* t1 */
	for (i = 0; i != 2; i++) {
		for (j = 0; j != 5; j++) {
			t1[i][j] = j + 1;
		}
	}
	/* t2 */
	compteur = 1;
	for (i = 0; i != 3; i++) {
		for (j = 0; j != 5; j++) {
			t2[i][j] = compteur;
			compteur++;
		}
	}
	/* t3 */
	compteur = 0;
	for (i = 0; i != 5; i++) {
		for (j = 0; j != 5; j++) {
			if  (j >= i) {
				t3[i][j] = 0;
			}
			else {
				t3[i][j] = 1 + j;
			}
		}
	}
	/* Affichage des tableaux */
	/* t1 */
	for (i = 0; i != 2; i++) {
		for (j = 0; j != 5; j++) {
			printf("%d ", t1[i][j]);
		}
		printf("\n");
	}
	printf("\n");
	/* t2 */
	for (i = 0; i != 3; i++) {
		for (j = 0; j != 5; j++) {
			printf("%d ", t2[i][j]);
		}
		printf("\n");
	}
	printf("\n");
	/* t3 */
	for (i = 0; i != 5; i++) {
		for (j = 0; j != 5; j++) {
			printf("%d ", t3[i][j]);
		}
		printf("\n");
	}
	printf("\n");

	/* Inversions lignes-colonnes */
	/* t1 */
	for (j = 0; j != 5; j++) {
		for (i = 0; i != 2; i++) {
			printf("%d ", t1[i][j]);
		}
		printf("\n");
	}
	printf("\n");
	/* t2 */
	for (j = 0; j != 5; j++) {
		for (i = 0; i != 3; i++) {
			printf("%d ", t2[i][j]);
		}
		printf("\n");
	}
	printf("\n");
	/* t3 */
	for (j = 0; j != 5; j++) {
		for (i = 0; i != 5; i++) {
			printf("%d ", t3[i][j]);
		}
		printf("\n");
	}
	printf("\n");

	return EXIT_SUCCESS;
}


2.

# include <stdio.h>
# include <stdlib.h>

int main(void) {
	/* Déclaration des tableaux */
	int t1[2][5];
	int t2[3][5];
	int t3[5][5];
	int compteur;
	/* Remplissage des tableaux */
	int i;
	int j;
	int k;
	/* t1 */
	for (i = 0; i != 2; i++) {
		for (j = 0; j != 5; j++) {
			t1[i][j] = j + 1;
		}
	}
	/* t2 */
	compteur = 1;
	for (i = 0; i != 3; i++) {
		for (j = 0; j != 5; j++) {
			t2[i][j] = compteur;
			compteur++;
		}
	}
	/* t3 */
	for (i = 0; i != 5; i++) {
		for (j = 0; j != 5; j++) {
			if  (j >= i) {
				t3[i][j] = 0;
			}
			else {
				t3[i][j] = 1 + j;
			}
		}
	}
	/* Affichage des tableaux */
	for (j = 0; j != 5; j++) {
		for (i = 0; i != 17; i++) {
			if (i < 5) {
				if (j >= 2) {
					printf("    ");
				}
				else {
					printf("%.2d   ", t1[j][i]);
				}
			}
			/* BAKA */
			else if (i == 5 | i == 11) {
				printf("   ");
			}
			else if (i > 5 && i < 11) {
				if (j >= 3) {
					printf("    ");
				}
				else {
					printf("%.2d   ", t2[j][i-6]);
				}
			}
			else {
				printf("%.2d   ", t3[j][i-12]);
			}
		}
		printf("\n");
	}	
	
	return EXIT_SUCCESS;
}

3.

# include <stdio.h>
# include <stdlib.h>
# define HAUTEUR 30

int main(void) {
	int t[HAUTEUR][HAUTEUR];
	/* Création du triangle de Pascal */
	int k;
	int n;
	for (k = 0; k != HAUTEUR; k++) {
		for (n = 0; n != HAUTEUR; n++) {
			if (k == n && k >= 0) {
				t[k][n] = 1;
			}
			else if (k > n && n >= 1) {
				t[k][n] = t[k-1][n] + t[k-1][n-1];
			}
			else if (k>=0 && n == 0) {
				t[k][n] = 1;
			}
			else {
				t[k][n] = 0;
			}
		}
	}
	/* Affichage */
	for (k = 0; k != HAUTEUR; k++) {
		for (n = 0; n != HAUTEUR; n++) {
			if (t[k][n] != 0) {
				printf("%d ", t[k][n]);
			}
		}
		printf("\n");
	}
	printf("\n");
	return EXIT_SUCCESS;
}