Problem

1 /12


Qu'est-ce qu'une matrice ? Création, affichage

Theory Click to read/hide

Présentation 
Très souvent, lorsque vous travaillez avec des informations, vous devez traiter des données tabulaires. Les programmes modernes fonctionnent très souvent avec de telles données. L'exemple le plus simple est la programmation de jeux sur un damier : tic-tac-toe, échecs, dames, etc.

En mathématiques, ces structures sont appelées matrices.
 
Une matrice est un tableau rectangulaire composé d'éléments de même type (chiffres, chaînes, etc. .)< /div>
De telles données en Pascal peuvent être stockées et traitées sous forme de tableaux à deux dimensions - "tableaux de tableaux".
Pour traiter les données du tableau, il est nécessaire de se souvenir de l'état de chaque cellule (cellule). Chaque cellule a deux nombres : un numéro de ligne et un numéro de colonne.
Dans la matrice, chaque élément a deux indices : d'abord le numéro de ligne est indiqué, puis le numéro de colonne. La numérotation des lignes et des colonnes commence à zéro.
Par exemple, l'élément A[1][2] est l'élément situé dans la deuxième ligne et la troisième colonne.

Tout comme avec les tableaux ordinaires (listes), pour travailler avec des matrices, vous devez apprendre à les créer, les saisir, les traiter et les afficher.
 
Création de matrice
Tâche
Créer en mémoire une matrice de la taille donnée remplie de zéros.

Pour créer correctement une matrice, vous devez forcer le compilateur à créer toutes les chaînes en mémoire en tant qu'objets différents.
Pour ce faire, vous devez d'abord créer un tableau vide, puis spécifier le nombre de lignes dans la matrice, puis spécifier le nombre d'éléments dans chaque ligne à l'aide de la méthode setLength() dans une boucle : N := 3 M := 2 setLength(A, N); pour i := 0 à N - 1 faire   setLength(A[i], M);

 

Remplir une matrice avec des valeurs arbitraires
Après avoir créé une matrice, vous pouvez la remplir avec des valeurs arbitraires. Comme chaque élément a deux indices, il est nécessaire d'utiliser des boucles imbriquées for i := 0 to N do begin for j := 0 to M do begin A[i][j] := ...   fin; fin;  
Afficher la matrice

Deux boucles imbriquées sont généralement utilisées pour traiter et afficher la liste. Le premier cycle est par le numéro de ligne, le deuxième cycle est par les éléments à l'intérieur de la ligne.
Afin d'afficher la matrice ligne par ligne, en séparant les nombres par des espaces sur une ligne, vous devez écrire le fragment suivant :

for i := 0 to length(A) - 1 do begin // length(A) - renvoie le nombre de lignes dans la matrice A     for j := 0 to length(A[i]) - 1 do // length(A[i]) - renvoie le nombre d'éléments dans la chaîne i         écrire(a[i][j], ' ');     écrireln(); // fait une nouvelle ligne après l'affichage de la ligne fin;

Identique, mais cycles non pas par index, mais par valeurs de liste (la boucle for peut itérer sur tous les éléments de la liste (tableau), chaîne) :

for row in a do begin // itération sur toutes les lignes de la matrice a     for elem in row do // boucle sur tous les éléments de la ligne         écrire (elem, ' ');     écrireln(); fin;

Problem

Remplir une matrice binaire (composée uniquement de zéros et de uns) selon un motif en damier. Il devrait y avoir un élément nul dans le coin supérieur gauche.
 

Entrée
La chaîne d'entrée contient les dimensions séparées par des espaces de la matrice : le nombre de lignes N et le nombre de colonnes M ( 1 < = N ,  M <= 100 ).
 

Mentions légales
Le programme doit afficher la matrice binaire ligne par ligne.
 

Exemples
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
# Entrée Sortie
1 4 5