Átalakítás egydimenziós tömb - studopediya
Néha meg kell másolni a mátrix M méretű N egy egydimenziós tömb mérete B
M * N. Nyilvánvaló, hogy ha a másolás a sorok (első sor, az első, majd a második, stb) az első sor elem A [0] [j], hogy kell másolni B [j]. elemei a második sor [1] [j], hogy B [N + j], stb Ebből következik, hogy minden sorban elem i A [i] [j] másolódik a B [i * n + j] Most pedig továbbra is csak egy kettős hurok végighaladni az összes mátrix elemeinek.
Megjegyzendő, hogy ha szükség van, hogy elvégezzen néhány művelet egy részét vagy egészét (álló
sor) a mátrix elemek, és az egydimenziós tömb már van egy megfelelő eljárást, akkor lehet használni, tekintettel arra, hogy a tömb a karakterlánc nevét (például egy [0]) egy mutató a kezdeti eleme ennek karakterlánc. Meg kell jegyezni, hogy a memória a mátrix elemei sorokban vannak elrendezve. Például, a függvény számítási elemek összege (. Lásd tömbök) lehet használni a mátrix a következőképpen:
Sall = Sum (A [0], M * N); // az összeg az összes vonal
Már megtanulta, hogyan kell rendezni egy sor az egész és valós számok, és most már a sorbitan
ted vonalon. Azt lehet gondolni különböző módon, de a leggyakoribb, betűrendben. Amikor válogató sorok két probléma merül fel.
1. Határozza meg a két egyenes „kevesebb”, hogy van, a kettő közül melyik legyen magasabb.
A második és komolyabb probléma megoldódik útján mutatók. Először válassza ki a
Memory tömb mutató húrok, és gondoskodik arról, hogy az első i- mutatót i- edik
array húr. Most már elég ahhoz, hogy a megfelelő jeleket és válogatás kerül sor - a sorok érhetők el ábécé (vagy bármilyen más) egészen ezeket a mutatókat. rendezési eljárást a buborék néz ki:
void SortStrings (char * s [], int n) // * S [] - massivukazateley
P = S [j]; s [j] = s [j-1]; // a permutációs DIRECTION
Ez a funkció a következő programot, amely rendezi a húrok, és megjeleníti azokat már alfabetikus sorrendben.
char s [20] [80]; // tömb 20 sorok
char * ps [20]; // tömb mutató 20 vonal
// itt meg kell adnia egy vonalat, és levelet
// változó számolja
for (i = 0; i