Tablouri și Șiruri de Caractere

Previzualizare curs:

Extras din curs:

Un tablou este o colecţie de variabilede acelaşi tip, apelate cu acelaşi nume. Tablourile sunt plasate într-o zonă de memorie contiguă. Accesul la un element al tabloului se face cu ajutorul unor indici.

Tablouri unidimensionale

Forma generală de declarare a tablourilor unidimensionale (şirurilor) este următoarea:

tip_element nume_tablou[număr_elemente];

unde tip_element este un tip oarecare şi reprezintă tipul elementelor tabloului, nume_tablou este un identificator, iar număr_elemente este o expresie constantă şi pozitivă ce precizează numărul de elemente ale tabloului.

De exemplu, în secvenţa:

int k[50];

char c[8];

float a[100];

se declară tablourile c , k şi a cu, respectiv, 50 de elemente întregi, 8 elemente de tip caracter şi 100 elemente de tip float.

Pentru referirea la un element se foloseşte o expresie cu operatorul de indexare [ ], precizând numele tabloului şi indexul (poziţia elementului în tablou):

nume_tablou[index]

Indexul variază între 0, pentru primul element a tabloului şi număr_elemente-1, pentru ultimul element.

Dimensiunea zonei de memorie care trebuie alocată tabloului poate fi calculată cu relaţia:

dimensiune_tablou = sizeof(tip_element)*număr_elemente

Tablourile unidimensionale sunt liste de informaţii de acelaşi tip care sunt plasate în zone de memorie contiguă, în ordinea indicilor. De exemplu, dacă tabloul c cu 8 elemente de tip caracter, declarat mai sus, începe cu locaţia de memorie 1100, în memorie acesta apare astfel:

Element c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7]

Adresă 1100 1101 1102 1103 1104 1105 1106 1107

Observaţie: Limbajul C nu controlează limitele unui tablou. Se pot depăşi ambele margini, distrugând u-se alte date sau cod de program, fără ca să se semnaleze eroare.

Aplicaţie

Programul următor determină minimul dintre termenii pozitivi ai unui şir şi maximul dintre termenii negativi ai aceluiaşi şir.

/* MAX numere negative MIN numere pozitive */

#include <stdio.h>

#include <conio.h>

void main()

{

char i,n,poz,neg;

char min,max,a[50];

clrscr();

printf("n=");scanf("%i",&n);

for (i=1;i<=n;++i)

{

printf("A(%i)=",i);

scanf("%d",&a[i]);

}

poz=neg=0;

for (i=1;i<=n;++i)

{

if (a[i]>0) if (poz==0){

min=a[i];

poz=1;

}

else if (min>a[i]) min=a[i];

if (a[i]<0) if (neg==0){

max=a[i];

neg=1;

}

else if (max<a[i]) max=a[i];

}

if (poz) printf("MIN poz=%dn",min);

if (neg) printf("MAX neg=%dn",max);

if ((poz==0)&&(neg==0)) printf("Toate numerele sunt nulen");

getch();

}

Şiruri de caractere

În C, un şir de caractere este un tablou unidimensional cu elemente de tip caracter. Forma generală de declarare a unui şir de caractere este este următoarea:

char nume_şir[număr_elemente];

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Tablouri si Siruri de Caractere.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
9 pagini
Imagini extrase:
9 imagini
Nr cuvinte:
1 972 cuvinte
Nr caractere:
11 078 caractere
Marime:
17.11KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!