Laboratoire 6 - Tableaux

Sommaire

Affichage tableau

Écrire un programme uaelbat.s qui affiche le tableau tab à l’envers.

.data
tab:	.word 10, 10, -6, 20, 1, 1, 8, 800, -800, -2

Transposée

Écrire un programme transpose.s qui affiche la transposée de la matrice mat suivante:

.data
mat:    .word 11, 12, 13, 14
        .word 21, 22, 23, 24
        .word 31, 32, 33, 34
        .eqv matN, 3		# nombre de lignes
        .eqv matM, 4		# nombre de colonnes

Note: cela doit afficher

11, 21, 31
12, 22, 32
13, 23, 33
14, 24, 34

Transposée 2

Même exercice, mais écrivez transpose2.s avec la matrice mat2 suivante:

        .data
l1:     .word 11, 12, 13, 14
l2:     .word 21, 22, 23, 24
l3:     .word 31, 32, 33, 34
mat:    .dword l1, l2, l3
        .eqv matN, 3		# nombre de lignes
        .eqv matM, 4		# nombre de colonnes

Queue

Écrire un programme tail.s qui un nombre quelconque de caractères (pas de limite) jusqu’à rencontrer un saut de ligne, puis affiche seulement les 20 derniers caractères.

Exemples:

  • HelloHello
  • Lorem ipsum dolor sit amet, consectetur adipiscing elitetur adipiscing elit

Note: lisez caractère par caractère dans un tableau (20 octets suffisent) puis, quand la fin de ligne est rencontrée, affichez les caractères pertinents.

Inverse

Écrire un programme tac.s qui lit un maximum de 20 lignes de 80 caractères chacune puis affiche chaque ligne en commençant par la dernière ligne et en finissant par la première ligne.

Notes:

  • Préparez 20 lignes de 81 octets (80 caractères et un ‘\0’) dans la section data.
  • Utilisez ReadString (ou readString) pour lire les lignes.
  • On s’arrête quand une ligne vide est saisie ou quand la 20e ligne est atteinte. Une ligne vide a son premier caractère à '\0' ou à '\n'.