Documente Academic
Documente Profesional
Documente Cultură
(MULȚIMI/MASIVE)
Tablouri
Tabloul reprezintă un şir ordonat de elemente de acelaşi tip.
Faptul, ca tabloul este un tot intreg, compus din cîteva elemente ne permite să numim variabila
de tip tablou variabilă de tip compus.
Tablouri
Tabloul se poate caracteriza prin nume, tip, dimensiune. Formatul comun de descriere a
tabloului este:
tip nume[d1][d1]…[dn];
tip nume[d]={v0,v1,v2,…,vn-1};
int x[8]={1,3,15,7,19,11,13,5};
int p[3][2][2]={1,2,3,4,5,6,7,8,9,10,11,12};
Şiruri de caractere
Numim şir o succesiune de caractere ale alfabetului.
Șirul de caractere poate fi conceput ca un vector de tip char:
void main(void) {
char a[20]; int i;
printf ("Culege numele");
for(i=0; i<20; i++)
scanf ("%c",a[i]);
printf("Numele dumneavoastra este:");
for(i=0; i<20; i++)
printf("%c",a[i]);
}
Şiruri de caractere
Notă: La declararea tabloului de tip char pentru descrierea unui şir se indică mărimea cu o celulă
mai mult de cît lungimea maximă presupusă a şirului din cauză că ultima celulă din tablou este
rezervată pentru simbolul null "/0".
Funcţii pentru prelucrarea şirurilor
Functia gets() si puts()
void main(void) {
int i; char name [15];
printf ("Culege numele:");
gets(name);
printf ("Numele dumnevoastra este:");
for (i=0; i<15; i++)
printf ("%C", name[i]);
}
Funcţii pentru prelucrarea şirurilor
void main (void) {
char name[15];
puts (" Culege numele");
gets (name);
puts ("Numele dvs este:");
puts (name);
}
Funcţii pentru prelucrarea şirurilor
Funcţia strcpy()
Apelul funcţiei strcpy() are următoarea formă generală:
strcpy (nume_sir, constanta_sir);
Funcţia strcpy() copiază conţinutul constantei_sir (inclusiv caracterul terminator '\n') în nume_sir.
Exemplu:
# include <string.h>
void main(void) {
char sir[80];
strcpy (sir, "hello");
printf("%s", sir); }
Funcţii pentru prelucrarea şirurilor
Funcţia strcat()
Apelul funcţiei strcat() are forma:
strcat (s1, s2);
Funcţia strcat() concatenează şirul s2 la sfârşitul şirului s1 şi întoarce şirul s1.
Exemplu:
# include <stdio.h>
# include <string.h>
void main(void) {
char first[20], second[10];
strcpy (first, "hello");
strcpy (second, "there");
strcat (first, second);
printf ("%s", first); }
Funcţii pentru prelucrarea şirurilor
Funcţia strcmp()
Se apelează sub forma: strcmp (s1, s2);
Această funcţie compară şirurile s1 şi s2 şi returnează valori negative, dacă s1 < s2, 0, dacă s1 = s2 şi un număr
pozitiv, dacă s1 > s2.
# include <stdio.h>
# include <string.h>
void main (void) {
char s[80];
printf ("Introduceti parola: ");
gets (s);
if (strcmp (s, "pasword"))
{
printf (" Invalid pasword \n ”);
return 0;
} return 1; }
Funcţii pentru prelucrarea şirurilor
Funcţia strlen()
Funcţia strlen() se apelează sub forma: strlen (s)
# incude <stdio.h>
# incude <string.h>
void main (void) {
char sir[80];
printf ("Introduceti un sir: ");
gets (sir);
printf ("Sirul %s contine %d caractere ", sir, strlen(sir));
}
Funcţii pentru prelucrarea şirurilor
Funcția toupper() - returnează litera mare corespunzătoare argumentului (literei mici).
# include <stdio.h>
# include <string.h>
void main (void) {
char sir[80];
int i;
strcpy (sir, "acesta este un test");
for(i = 0; sir[i]; i++) sir[i] = toupper (sir[i]);
printf("%s", sir);
}
Laborator
1. Fie avem notele a 9 studenți este nevoie să determinăm din această listă eminenții,
resanțierii și media generală.
Exerciții individuale
1. Să se definească un tablou unidimensional compus din 12 numere și să se determine
maximul și minimul din ele.
2. Să se definească lista a 10 studenti compusă din numele lor, printr-un tablou unidimensional
și să se afișeze rezultatul în consolă.
3. Declarați un tablou bidimensional de 2 randuri si 3 coloane, citiți și afișați elementele lui.