Am considerat deja astfel de acțiuni pentru rețelele unidimensionale. Generalizați pentru două-dimensionale.
Introduceți un șir de la zero după linia cu numărul k.
Pentru a rezolva această problemă este necesar:
- Primele linii k rămân neschimbate.
- Toate liniile de la k-th se mută înapoi, este mai bine să începeți cu ultima linie și să mergeți la (k + 1) -th.
- Elemente ale șirului k + 1 atribuie o valoare dată.
În plus, trebuie să modificați dimensiunea matricei. Deoarece inserăm un rând, numărul de rânduri va fi unul:
Acum, descrieți procedura de inserare:
Deoarece numărul de rânduri se modifică, procedura de tipărire trebuie modificată, trebuie să emită un număr dat de linii, începând cu primul:
O parte din programul principal va fi:
- Dacă trebuie să inserați după un șir care îndeplinește o anumită condiție, trebuie doar să-i găsiți numărul și sarcina este redusă la rezolvarea primului exemplu.
- Dacă trebuie să inserați după toate rândurile cu condiția specificată, atunci trebuie să măriți dimensiunea după rânduri și, dacă șirul satisface condiția, atunci introduceți-o. Trebuie remarcat că este mai bine să priviți liniile din ultima și să introduceți contorul rândurilor introduse.
- Inserția înaintea liniei cu acest număr se va schimba numai prin faptul că nu este necesară trecerea din linia (k + 1), dar din linia k.
- Dacă trebuie să introduceți coloane, atunci dimensiunea crește pentru coloane și tot ceea ce nu se schimbă: trebuie să mutați coloanele înapoi și să scrieți o coloană nouă în acest loc.
Ștergeți linia cu numărul k.
Pentru a șterge o linie cu numărul k, trebuie să:
Treceți toate liniile începând de la una până la alta.
Ultima linie este "zero", adică atribuie valoarea 0 tuturor elementelor din ultimul rând.
Descrierea matricelor rămâne aceeași (pentru dimensiunea n * m). De asemenea, în program vom folosi procedura de ieșire Print1 din paragraful anterior. Vom afișa mai întâi toate liniile, iar al doilea, după eliminare, unul mai puțin. Acum, descrieți procedura de ștergere a unei linii cu acest număr:
Procedură Ștergere (k1: Integer; Var x: dmyarray);
Var i, j. integer;
începe
Pentru i: = k1 Pentru n-1
Pentru j: = 1 Pentru a face
x [i, j]: = x [i + 1, j];
Pentru j: = 1 Pentru m Do x [n, j]: = 0
End;
- Problema ștergerii unui rând cu o anumită condiție poate fi rezolvată în același mod, este necesar doar să-i găsiți numărul și, în lipsa unei astfel de linii, puteți să informați despre aceasta și să terminați programul.
- O altă problemă poate fi rezolvată prin utilizarea acestei proceduri - eliminarea tuturor rândurilor care îndeplinesc anumite proprietăți - imagine din ultimul rând la primul, în cazul în care șirul îndeplinește cerințele, atunci îl eliminăm și trece la următorul, în caz contrar doar du-te. Pentru producția eficientă trebuie să intre contorul, care ia în considerare numărul de rânduri șterse și derivarea matrice modificate peredaom valoarea Print1 Procedura n-k. unde k este contorul.