Seturi statice multidimensionale în si

Multiple dimensiuni statice

În C, împreună cu unidimensional, există matrice multidimensionale. De exemplu, o matrice bidimensională: ea poate fi reprezentată ca o matrice de matrice sau ca o matrice. Dimensiunea matricei poate fi mai mare: tridimensională, patru-dimensională etc.






Sintaxa rămâne aceeași, se adaugă doar noua dimensiune

De exemplu, o matrice bidimensională

Accesul la elementele matricei este același ca într-o matrice unidimensională

Particularitatea este că în structura sa matricea multidimensională este o matrice obișnuită, "unidimensională". Toate elementele sunt localizate una după alta. Accesul la elementul a [i] [j] este în esență o trecere la i * numărul de coloane + j. Într-o matrice bidimensională, astfel, elementele sunt aranjate "de-a lungul rândurilor", în cel tridimensional - "pe straturi", în interiorul căruia elementele sunt aranjate "de-a lungul rândurilor" etc.
În acest sens, cu inițializarea inițială, puteți omite dimensiunea numai în primele paranteze pătrate:

Compilatorul va cunoaște apoi schimbarea necesară pentru a accesa elementul.
Acest lucru este, de asemenea, legat de caracteristicile initializării inițiale. Deoarece o matrice multidimensională este în esență unidimensională, inițierea sa inițială se poate face în acest fel

Este posibil să omiteți prima dimensiune

Puteți utiliza bretelele pentru a face datele mai ușor de citit







De asemenea, ca și în rețelele unidimensionale, dacă sunt specificate mai multe date decât cele specificate în timpul inițializării, cele rămase sunt umplute cu zerouri. De exemplu, matricea unității de 3 la 3

Din faptul că matricea multidimensională este structură unidimensională, urmează niște proprietăți interesante. De exemplu, accesul la un element poate fi făcut prin numărul său de ordine
a [i] [j] === a [0] [i * numărul de coloane + j], etc.

1. Vom sorta matricea bidimensională prin metoda cu bule. Pentru sortare, se folosesc de obicei două abordări: transformarea unei matrice bidimensionale într-o matrice unidimensională, sortarea, transformarea inversă a unor elemente unidimensionale în două dimensiuni sau accesul confuz al elementelor printr-un indice. Puteți face totul mai simplu: lucrați cu o matrice multidimensională ca fiind unidimensională

Notă: Prin standard, acest comportament nu este clar definit, dar trebuie suportat indirect.

2. Sunt date coordonatele x și y ale punctelor obținute în timpul fotografiei. Se știe câte cadre pe secundă a făcut aparatul foto. Calculați viteza la fiecare dată și viteza medie pentru toate timpurile.

3. Matricea este folosită ca o hartă în care numărul 2 este începutul, și 3 - capătul căii. Programul găsește mai întâi coordonatele acestor puncte, apoi calculează distanța Manhattan-ului (ca ai nevoie pentru a trece de-a lungul x și y de la început până la sfârșit) și Euclid distanța (ca ipotenuza unui triunghi dreptunghic).

4. Utilizatorul introduce 10 cuvinte. Efectuați cuvântul cu lungimea maximă. Programul este aparent destul de simplu, singura problemă este citirea și transmiterea cuvântului. Deoarece cuvintele sunt stocate într-o matrice bidimensională, pointerul la cuvintele [i] [0] este începutul cuvântului nou. De asemenea, nu uitați de limitarea lungimii intrării.

ru-Cyrl 18- tutorial Sypachev S.S. 1989-04-14 [email protected] Ștefan Șpașev studenți

Încă nu este clar? - scrieți întrebările pe cutie







Articole similare

Trimiteți-le prietenilor: