Beszúrása és törlése kétdimenziós tömb elemeinek

Már foglalkoztunk ilyen fellépés egydimenziós tömböket. Általánosítható kétdimenziós.

Beírása csomó nullákkal után összhangba k.

A probléma megoldására van szükség:







  1. Az első k sora változatlan marad.
  2. Minden vonal után a k-adik lépés egy vissza, akkor jobb, ha kezdeni az utolsó sorban, és menj a (k + 1) -ik.
  3. Elements sor k + 1 rendelni egy előre meghatározott értéket.

Ezen túlmenően, szükség van változtatni a méretei a tömb. Mivel tesszük a húr, akkor a sorok száma még egy:

Most leírjuk a beiktatása:

Mivel a sorok számát változott, hogy meg kell változtatni a nyomtatási eljárást, meg kell jeleníteni ezen sorok számát, kezdve az első:

Része a fő program a következő lesz:

  1. Ha azt szeretnénk beszúrni egy sort, miután bizonyos feltételeket, arra van szükség, hogy megtalálják a számát, és a probléma csökkenti a megoldás az első példa.
  2. Ha kell beszúrni, miután az összes sort egy adott állapot, meg kell növelni a méretét a sorok, és ha a sor megfelel annak a feltételnek, hogy lehet használni, hogy helyezze. Meg kell jegyezni, hogy ez jobb, hogy megtekinthesse az utolsó sort, és adja meg a mérő beszúrt sorok.
  3. Beírása előtt összhangba ez a szám csak akkor változik, ami szükséges, hogy menjen vissza nem a (k + 1) -edik sor, és a k-adik.
  4. Ha kell beszúrni oszlopok, a dimenzió növeli az oszlopok, és minden mást gyakorlatilag nem változott: meg kell mozgatni az oszlopok ezelőtt ez a hely, hogy írjon egy új oszlopot.






Sor törlése k.

Sor törléséhez k szükségesek:

Összes áthelyezése sorok kezdve ez az, az egyik felfelé.

Az utolsó sorban a „reset”, azaz minden eleme az utolsó sort a 0.

Leírás tömbök ugyanaz marad (a dimenzió n * m). Szintén a program fogjuk használni a kivonási eljárás nyomtatási1 az előző bekezdésben. Mi fog megjelenni az első az összes sort, és a második alkalommal, eltávolítása után, eggyel kevesebb. Most leírjuk az eljárás törlése a sorban egy adott szám:

Eljárás törlése (k1: integer; Var x: dmyarray);
Var i, j. integer;
kezdődik
Az I: = K1 n-1 Do
A J: = 1-től m Do
x [i, j]: = x [i + 1, j];
A J: = 1-től m Do x [n, j]: = 0
Vége;

  1. Eltávolításának problémája a sort a megadott feltétel lehet megoldani ugyanúgy, csak meg kell találni a számát, és mivel egy ilyen sor, akkor egyszerűen tájékoztatni, és a teljes program.
  2. Egy másik probléma is megoldható ezzel az eljárással - az eltávolítása az összes sort, amelyek megfelelnek bizonyos tulajdonságok - kilátás az utolsó sor az első, ha a húr megfelel a követelményeknek, akkor távolítsa el, és lépni a következő egy, egyébként csak menni. A hatékony kimeneti kell adnia a számláló, amely figyelembe veszi a száma törölt sorok, és a származtatás a módosított tömb peredaom nyomtatási1 értéke n-k eljárást. ahol k - egy számláló.