Vrsta podataka: nizovi. Jednostavan je i elegantan.

20. 2. 2019.

U programiranju se često susreću tipovi podataka kao što su polja. To je najjednostavnije rješenje pri izvođenju sličnih operacija s velikim brojem varijabli istog tipa. Ako pokušate napisati program koji će uključivati ​​sve te podatke i ponavljajuće izračune, bolje je u proizvod uključiti strukturu nazvanu niz, ili matricu.

Opći koncept polja

Pod matricom (neke je lakše prikazati u obliku tablice) podrazumijeva se niz memorijskih ćelija u kojima se pohranjuju varijable istog tipa. U ovom slučaju, odnos između podataka i strukture provodi se kroz jedno ime i određeni indeks. Pomaže u određivanju koje varijable koristiti pri rješavanju problema. rasporedi ga

Treba jasno razumjeti da indeks nije sadržaj ćelije. To samo ukazuje na podatke sadržane u određenoj ćeliji.

Definicija takve strukture bit će kako slijedi: nizovi su skupina podataka istog tipa koji imaju svoje ime i pohranjuju varijable u uzastopnim memorijskim ćelijama.

Postoje dvije vrste matrica: jednodimenzionalna (linearna) struktura i dvodimenzionalni niz. Prvi tip je prikazan u obliku tablice sa samo jednim retkom ili jednim stupcem. U konkretnom slučaju, broj indeksa označava veličinu matrice.

Dvodimenzionalni niz je struktura predstavljena kao tablica u kojoj broj retka označava prvi indeks, a broj stupca drugi. Tako, u matrici A (m, n), element niza a 23 pokazuje da je ova varijabla u drugom redu iu trećem stupcu. I m postavlja broj redaka, a n - broj stupaca. Tu je kvadratna matrica (gdje je broj redaka i stupaca isti) i pravokutni.

Nizovi u programiranju

Već smo saznali da su nizovi skup elemenata istog tipa. i vrstu podataka mora biti ista u cijeloj tablici. Svaka struktura može imati potpuno različit tip podataka: numerički, niz, znak.

Prilikom pisanja programa granice možete postaviti na dva načina:

  • koristeći naziv tipa gdje je prva i zadnja vrijednost graničnik;
  • pomoću prethodno deklariranih konstanti.

Struktura se također može definirati na nekoliko načina. Želio bih napomenuti da svaki programski jezik ima svoju sintaksu. Ali princip stvaranja matrice je sličan. U prvom slučaju, određeni element se poziva pomoću naziva varijable strukture i indeksa navedenog u uglatim zagradama. U drugom slučaju, matrica se može specificirati jednostavnim popisom svih elemenata.

Nemojte brkati pojam "indeks" i "tip indeksa". Prva definicija je naznačena u odjeljku izraza kako bi se moglo odrediti određeni element niza. Tip indeksa koristi se samo u odjeljku opisa strukture. Dimenzija niza određena je u opisu. Vrlo je nepoželjno mijenjati broj elemenata u procesu rada na programu.

Matrice s podacima u programiranju možete ispuniti na sljedeće načine:

  • putem ručnog unosa tipkovnice;
  • pomoću generatora slučajnih brojeva;
  • kada deklarirate niz kao konstantu;
  • po zadanoj formuli.

Strukturiranje niza

Nizovi su strukturirani tip podataka. Kao što je već spomenuto, matrica (ako je dvodimenzionalna) sastoji se od konačnog broja redaka i stupaca; ako je linearan, to je iz jednog retka ili jednog stupca, gdje je broj elemenata također ograničen. niz podataka

Sjecište retka i stupca naziva se stanica. Sadrži specifične varijable. Nije dopušteno imati različite vrste podataka u jednoj tablici. Elementi niza su varijable s indeksima (bez obzira je li struktura linearna ili dvodimenzionalna). Indeks je broj određene ćelije. On pokazuje njezin položaj u stolu.

Operacije polja: Dodavanje

Dakle, polje podataka koje u matematici, u računalnoj znanosti, je skup varijabli. S njime možete izvoditi različite operacije: zbrajanje, oduzimanje, transpoziciju, množenje, dijeljenje.

Prilikom dodavanja potrebno je uzeti u obzir činjenicu da bi dimenzije obje strukture trebale biti iste. U ovom slučaju, ako su matrice A i B dane s dimenzijom MxN, tada će u nastalim C = A + B elementima biti c [i, j] = a [i, j] + b [i, j]. Ispada da su varijable dodane elementarno. elemenata niza

Array operacije: oduzimanje

Možda bi ovu točku trebalo započeti uklanjanjem znaka minus iz matrice (ili, naprotiv, uvoda). Postoje slučajevi kada se podatkovni niz sastoji od elemenata, od kojih je većina negativna. U takvoj situaciji bilo bi poželjno pomaknuti minus iz strukture. Da biste to učinili, ispred tablice se nalazi negativni znak, a svaki element ima svoj znak obrnut. Nula u ovom slučaju je neutralna: nema pozitivnog ili negativnog predznaka. niz brojeva

Oduzimanje se provodi na istom principu kao i dodavanje. Varijabla s istim indeksom iz druge strukture oduzima se od prvog elementa matrice. Odgovor se upisuje u treću tablicu na odgovarajućem mjestu. dvodimenzionalni niz

Operacije s nizovima: Množenje i podjela

Osim zbrajanja i oduzimanja, niz brojeva može se množiti brojem, pomnožiti dvije strukture zajedno, dijeliti jednu po jednu.

Da biste pronašli proizvod matrice i broja, potrebno je pomnožiti svaki element niza s navedenim elementom. Odgovor je zabilježen u ćeliji s istim indeksom kao izvorna varijabla. elemenata niza Da bi se dvije matrice pomnožile, potrebno je slijediti sljedeći algoritam.

  • Broj stupaca u prvoj tablici jednak je broju redaka drugog množitelja. U tom slučaju, dimenzija rezultirajuće matrice će biti sljedeća: broj redaka bit će jednak broju redova prvog faktora, a broj stupaca bit će jednak njihovom broju iz drugog faktora.
  • Razmotrite dva čimbenika. elemenata niza
  • Budući da je broj stupaca u faktoru K jednak broju redaka u nizu P, tada je operacija moguća. Ali ako zamijenite matrice na mjestima, tada zakon o promjeni mjesta multiplikatora ovdje ne radi. Stoga je P x ​​K nevažeći unos. Ako su obje matrice kvadratne, tada je operacija moguća u oba slučaja.

Formula množenja je sljedeća. niz brojeva

Ako su oba faktora dvodimenzionalna, treba slijediti princip prikazan na donjoj ilustraciji.

niz brojeva Podjela se provodi prema sljedećoj formuli. dvodimenzionalni niz Tamo gdje se pronalaženje inverzne matrice (inverzija) provodi prema sljedećoj formuli.

niz brojeva

transponiranje

elemenata niza

Ova operacija se provodi prema sljedećem načelu: redci postaju stupovi. Izgleda ovako.