Array - o colecție ordonată de date similare. Fiecare element de matrice corespunde unuia sau mai multor indici care determină poziția elementului în matrice. Indici formează ordonate de secvență.
tip index determină valorile permise. În orice tip de comandă (boolean, char, întreg, tip enumerat și variază de aceste tipuri) pot fi specificate ca un tip index, altele decât cele de tip longint și derivații săi.
În funcție de numărul de tipuri de indici se disting: unidimensional, bidimensional, tri-dimensională și n-dimensional matrice. Două-dimensionale matrice sunt denumite în mod obișnuit ca matrice, inclusiv primul indice - numărul liniei și coloana a doua Stock No.
Tipul de elemente de matrice - Orice tip valid în Borland Pascal (inclusiv o matrice), cu excepția fișierului.
Restricții privind numărul de indici în Borland Pascal nu. Cu toate acestea, lungimea totală a șirului nu trebuie să depășească 65537 octeți.
Valorile elementelor matrice din program poate fi definit în trei moduri. În primul rând, matricea poate fi inițializat folosind constantele apasate sau pur și simplu prin atribuirea de valori elementelor. În al doilea rând, elementele de matrice pot fi introduse de la tastatura sau dintr-un fișier. În al treilea rând, elementele de matrice pot fi calculate, de exemplu, generată folosind un număr aleator calculat din ecuațiile și legile date și copiate dintr-o altă matrice.
Acest subiect este relevant, deoarece comoditatea de matrice de stocare nu în mod și în modul în care acestea sunt prelucrate.
Scopul este de a explora conceptul de „matrice char“.
Principalele obiective ale studiului sunt: luarea în considerare a conceptului de matrice caracter, un șir de caractere și operații pe ele.
1. Tablourile de caractere.
operațiuni de matrice. Deasupra matrice ca un întreg este definit numai operațiune - operațiune de atribuire.
Atribuirea de matrice constă în copierea elementelor dintr-un tablou la altul. Această operație poate fi efectuată numai pe matrice de același tip. Matricele sunt considerate de tip, în cazul în care acestea sunt declarate, separate prin virgulă într-un singur rând sau, dacă este declarat inițial tipul de matrice, apoi matrice de acest tip.
Accesul la elementele de matrice. Lucrul cu o matrice, de regulă, aceasta se reduce la acțiunile membrilor săi. Pentru a avea acces la un anumit element de matrice trebuie să specifice numele de matrice și valoarea indicilor elementelor din paranteze pătrate, separate prin virgulă.
Valorile indicelui pot indica în mod direct un literal, cum ar fi [3], sau indirect, indicând identificatorul variabilei care conține valoarea indicelui.
Notă. De matrice multidimensionale i se permite să aloce sub-matrice, in scadere indicii înregistrate pe partea dreaptă, lăsând indicii care determină subarray. Deci, din matricea poate fi linia de distins, dar nu se poate - coloana.
matrice de intrare-ieșire. Element de intrare-ieșire prin matrice de elemente funcționează folosind cicluri cu un număr predeterminat de repetiții.
Valorile elementelor de matrice sunt introduse în ordinea tratamentului acestora din ciclu, de exemplu pentru ciclul prezentat mai sus: aj, a2, a3, a4, a5. Aceste valori pot fi stabilite într-o singură linie prin spațiul sau apăsarea tastei după introducerea unuia sau a mai multor numere Enter.
Atunci când se efectuează operații de intrare-ieșire de matrice sau rețele de dimensiuni mari expedient linie valorile de intrare și de ieșire de linie.
Tablourile de caractere. Numita matrice de caractere ale căror elemente sunt caractere. Astfel de matrice au fost utilizate în mod tradițional pentru a reprezenta informația de caractere, cum ar fi diverse texte. Procesarea Tablourile de caractere în Borland Pascal are unele particularități.
1. Anunțarea matrice de caractere ca un simbol tastate valori constante pot fi specificate articol cu articol:
Const d: array [1..10] de char = ( '0 \' 1 \ '2 \' 3 \ "4 \" 5 \ '6' / Ђ7 \ „8 \ '9');
sau în întregime, folosind un șir constant, lungimea care trebuie să corespundă strict la dimensiunea matricii:
Const d: array [1..10] de char = '0123456789';.
2. Alocare matrice de caractere valoare poate fi, de asemenea, în întregime, folosind un șir constant, lungimea pe care trebuie să coincidă cu lungimea matrice:
Var S: array [1..11] de char;. S: = 'Exemplul unu';
3. Dacă aveți un element de caractere matrice nu pot fi separate prin spații, deoarece spațiul este perceput ca un simbol:
Var S: array [1..10] de char;
4. O matrice de caractere poate fi elementul de ieșire de element din ciclul ca un tablou unidimensional regulat, și poate fi - ca un întreg, un operator de scriere sau WriteLn:
5. Utilizarea operatorului concatenare (fuziune) Șirurile de caractere, notate prin simbolul „+“, să fie permisă în terminalul operatorului. Rezultatul acestei operațiuni va fi o nouă matrice de caractere, numărul de elemente care este egal cu suma matricelor de dimensiuni inițiale și valorile elementelor sunt elemente ale secvențial matrice original înregistrat unul după altul:
Lucrul cu matrice unidimensională se realizează caracterul element înțelept ca și cu matrici convenționale.
Până în prezent, putere de calcul semnificativă și o mare varietate de software-ul folosit pentru a lucra cu informații textuale. Din acest motiv, instrumente speciale de programare sunt concepute pentru a lucra cu textul, dezvoltarea de metode adecvate și tehnici de programare.
Această lucrare este dedicată studiului mijloacelor de programare a sistemului proiectat să se ocupe de fragmente de text - linii.
Cel mai simplu mod de a lucra cu text la utilizarea variabilelor simbolice și matrice liniare care conțin tipul de date de caractere (Char).
A: array [0..63] Char;
Datorită operatorului de atribuire P indică acum primul element al matrice A, cu toate acestea PrintStr numit de două ori cu aceeași valoare.
Puteți inițializa tipizovannuyu constantă având tipul unei matrice de caractere cu o bază la zero, folosind un literal șir având o lungime mai mică decât lungimea matrice. Caracterele rămase sunt setate la NULL (# 0), iar matrice va conține un șir terminat-nul.
În plus față de utilizarea directă a siruri de caractere în expresii, puteți pune un șir de caractere într-un caracter (cum ar fi char) matrice cu tine-un nume murdar în viitor rândul său, să-l în numele matrice. Cel mai adesea pentru a plasa un șir constant într-o matrice folosind etsya inițializarea. În continuare, programul efectuează acești pași:
//R2-07.SRR - constanta șir matrice de inițializare
#include
char stroka [] = "repetitio EST MATER studiorum";
cout « "\ nsizeof Stroka ="« sizeof Stroka;
Rezultatul programului:
sizeof Stroka = 30
Stroka = repetitio EST MATER studiorum
Rețineți că, în determinarea imenistroka lui charposle matrice între paranteze [] nu este specificat numărul de elemente. Dimensiunea matrice este calculată automat în timpul inițializării și este egal cu numărul de caractere dintr-un șir de inițializare constante, acelea (în acest caz 29), plus un element de terminare „\ o“.
Ghilimelele nu fac parte din șirul de caractere, și se va opri difuzarea la program-pisi. Linia poate fi un singur caracter, de exemplu, „A“ - o linie de la un caracter. Cu toate acestea, în contrast cu constantele caracter, tu „A“ lungimea reprezentării interne a liniei „A“ este egal cu 2. Șirul poate fi gol ii. în timp ce lungimea sa este egală cu 1. Cu toate acestea, constanta caracter nu poate fi goală, adică, înregistrare „“ în majoritatea în aplicare-tiile nu este permisă.
2. Șirurile de caractere
șiruri de caractere stocate informații cum ar fi nume de fișiere, titluri de carte, numele angajaților și alte combinații de caractere. Cele mai multe programe în C ++ este utilizat pe scară largă șiruri de caractere. În continuare, veți afla că în siruri de caractere C ++ sunt stocate într-o matrice char, care se termină cu caracterul NULL (sau ASCII 0). În această lecție, șirurile de caractere sunt discutate mai în detaliu. Vei învăța cum să stocheze și să manipuleze șiruri de caractere, precum și modul de utilizare runtime bibliotecă care manipulează șiruri de caractere. Până la sfârșitul acestei lecții, veți învăța următoarele concepte de bază:
· Pentru a declara un șir de caractere, trebuie să declare o serie de char,
· Pentru a da caracterele un șir de caractere, programul pur și simplu atribuie simboluri elemente ale unui tablou de șiruri de caractere.
· Programe C ++ folosesc caracterul NULL (ASCII 0), pentru a marca ultimul caracter.
· Programele pot trece siruri de la o funcție ca oricare matrice.
· Cele mai multe faze de execuție C ++ oferă un set de funcții care controlează șirurile de caractere.
Programul C ++ este stocată ca o matrice de șiruri de caractere de tip char. Cele mai multe programe folosesc pe scară largă a siruri de caractere. Experiment cu fiecare program prezentat în acest tutorial pentru a vă familiariza cu șirurile de caractere.
programatori C ++ utilizează pe scară largă a siruri de caractere pentru stocarea de nume de utilizator, nume de fișiere, precum și alte informații de caractere.
Fig. 17.1. C ++ tratează un șir de caractere ca un char de tip matrice.
Diferența principală dintre șirurile de caractere și alte tipuri de matrice este ca C ++ indică ultimul element al matrice, După cum știți deja, un program de C ++ reprezintă sfârșitul unui șir de caractere de un caracter NULL, care este portretizat ca un caracter special „\ 0“ în C ++. Când atribuiți simboluri ale unui șir de caractere, trebuie să pui un caracter NULL ( „\ 0“) după ultimul caracter din șirul. De exemplu, următorul program ALPHABET. CPP atribuie o literă de la A la Z alfabet variabil, folosind o buclă. Se adaugă apoi un caracter NULL în această variabilă și o afișează folosind cout.
char alfabet [34]; // 33 bukvyplyus literă NULL char;
pentru (literă = 'A', index = 0; literă <= 'Я';
litere ++, index ++) alfabet [index] = literă;
cout <<"Буквы " < După cum puteți vedea, programul atribuie șirul de caractere NULL pentru a indica ultimul caracter al șirului: Când cout flux de ieșire emite un șir de caractere, care va fi afișat o linie de caractere până când întâlnește simbolul NULL. Pe scurt, Symbol NULL spune programul ultimul caracter din șirul. Notă bucla pentru, care apare în programul precedent. După cum puteți vedea, ciclul și inițializează două variabile crește (litere și index). Atunci când o buclă pentru inițializează sau crește numărul de variabile, se separă punctul de funcționare (virgulă este, de asemenea, un operator de C ++): pentru (literă = 'A', index = 0; literă <= 'Я'; letter++, index++) C ++ adaugă automat un constantele șir NULL Tot ce ați creat programul să folosească un constante șir de caractere închise în ghilimele, după cum se arată mai jos: „Aceasta este o constantă șir“ La crearea unui șir de caractere constant compilator C ++ adaugă automat un caracter NULL, așa cum se arată în Fig. 17.2. Fig. 17.2. compilator C ++ adaugă automat un caracter NULL constantele șir. Atunci când programul afișează constantele șir de caractere cu ajutorul cout flux de ieșire, utilizează cout caracterul NULL (care compilatorul adaugă la bara) pentru a determina ieșirea ultimului caracter. 3.1 Utilizarea caracterului NULL Dacă utilizați un șir constant închise în ghilimele, compilator C ++ adaugă automat un caracter NULL. Cele mai multe funcții C ++ folosiți caracterul NULL pentru a determina ultimul caracter al șirului. Următorul program de LOOPNULL.CPP modifică ușor programul anterior, folosind o buclă pentru a afișa conținutul șirului: char alfabet [34]; // 33 simvolaplyus literă NULL char; pentru (literă = 'A', index = 0; literă <= 'Я'; letter++, index++) alphabet[index] = letter; pentru (index = 0; alfabet [index] 1 = NULL; index ++) cout < După cum puteți vedea, pentru un ciclu explorează caracterele din șir. Dacă simbolul nu este NULL (nu ultimul caracter din șirul), indexul de simbol imprimă buclă crește, iar procesul continuă. Ca „A“ este diferit de „A“ În revizuirea programelor în C ++, vă puteți întâlni caracterele ghilimele simple (de exemplu, „A“) și caracterele închise în Fig. 17.3. Deoarece C ++ stochează compilator caracterul constant „A“ și un șir constant „A“. ghilimele duble ( "A"). Simbol în termen de ghilimele simple este o constantă caracter. compilator C ++ emite doar un singur octet de memorie pentru a stoca o constantă caracter. Cu toate acestea caracter în ghilimele este o constantă șir - numitul simbol simbol NULL (adăugat de compilator). Astfel, compilatorul va aloca doi octeți pentru un șir de caractere. Figura 17.3 ilustrează modul în care un compilator C ++ stochează caracterul constant 'A' și un șir constant "A". 4. șir de caractere Inițializarea char titlu [64] = "A învăța să program în limbajul C ++"; char titlu [] = "A învăța să program în C ++"; char titlu [64] = "A învăța să program în limbajul C ++"; Lecții char [64] = "Simvolnyestroki"; cout <<"Книга: " < cout <<"Урок: " < Unele programe în restul cărții va inițializa șiruri de caractere într-un mod similar. Ia ceva timp pentru a experimenta cu acest program prin schimbarea caracterelor alocate fiecărei linii. 5. Liniile de transmisie ca o funcție Funcția de transfer a șirului de caractere în transmiterea oricărei matrice similară ca parametru. In interiorul functiei, trebuie doar să specificați tipul de matrice (char) și suporturile din stânga și din dreapta ale șirului. Nu aveți nevoie să specificați dimensiunea șirului. De exemplu, următorul program utilizează funcția șir SHOW_STR.CPP show_ pentru a afișa șirul de caractere de pe ecran: void show_string (string char []) cout < show_string ( "program de studiu in C ++"); După cum puteți vedea, funcția show_string interpretează șirul de caractere parametru ca o matrice: void show_string (string char []) Deoarece simbolul NULL indică sfârșitul șirului, funcția nu are nevoie de nici un parametru care specifică numărul de elemente din matrice. În schimb, funcția poate determina ultimul element din matrice pur și simplu prin găsirea unui caracter NULL. După cum știți deja funcții C ++ folosesc adesea caracterul NULL pentru a defini sfârșitul liniei. Următoarea STR_LEN.CPP creează o funcție numită STRING_LENGTH, care este în căutarea pentru un caracter NULL în șir pentru a determina numărul de caractere conținute în șir. În continuare, funcția utilizează declarația de retur pentru a reveni linia pentru a apela lungimea funcției. Programul transmite mai multe șiruri de caractere diferite, în funcție, afișarea lungimea fiecăreia dintre ele pe ecran: int STRING_LENGTH (string char []) pentru (i = 0 ;! string [] = '\ 0'; i ++); // Nimic de a face, dar du-te la // următorul întoarcere caracter (i); Lungimea liniei char titlu [] = "A învăța să program în C ++"; lecție char [] = "șir de caractere"; cout <<"Строка " < cout <<"Строка " < După cum puteți vedea, funcția pornește de la primul caracter al șirului (elementul 0), și apoi se examinează fiecare element până când se întâlnește NULL. Având în vedere programul în C ++, veți întâlni o varietate de funcții, care, de asemenea, răsfoiesc șiruri de caractere în căutarea pentru un caracter NULL. 1. Un șir de caractere este un șir de caractere care se termină cu 0 (simbol NULL). 2. Creați un șir de caractere, declarând o matrice de tip char. 3. Programul este responsabil pentru plasarea caracterului NULL după ultimul caracter al șirului. 4. În cazul în care programul utilizează constantele șir închise în 5. ghilimelele duble, compilator C ++ adaugă automat un caracter NULL. 7. Cele mai multe compilatoare C ++ în bibliotecile lor de rulare oferă o gamă largă de funcții pentru manipularea siruri de caractere. Trebuie amintit faptul că, în C ++ nu există nici o diferență fundamentală între o serie de matrici de orice dimensiune și de obicei matrice unidimensională. 2. "C Programming Language". BV Kernighan, D. Ritchie, A. Fyuer. Traducere română: București: Finanțe și Statistică. 1985 4. „limbaje de programare de nivel înalt“, Hrotko G. 1982 5. "limbaje de programare," Malyutin EA Malyutina LV 1982 6. „limbaje de programare noi și tendințele lor de dezvoltare“, Ushkova V. 1982 7. "Limbaje de programare: proiectare si implementare", Terrence P. 1979articole similare