Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
131Activity
0 of .
Results for:
No results containing your search query
P. 1
Tablouri şi şiruri de caractere in C++

Tablouri şi şiruri de caractere in C++

Ratings: (0)|Views: 20,320|Likes:
Published by Radu
Tablouri şi şiruri de caractere in C++
Tablouri şi şiruri de caractere in C++

More info:

Published by: Radu on Nov 10, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/01/2013

pdf

text

original

 
www.cartiaz.ro  – Carti si articole online gratuite de la A la Z
Tablouri şi şiruri de caractere in C++
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 altabloului se face cu ajutorul unor indici.
Tablouri unidimensionale
Forma generală de declarare a tablourilor unidimensionale irurilor) esteurmă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
,
şi
a
cu, respectiv, 50 de elemente întregi, 8 elemente de tipcaracter ş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ă curelaţ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 8elemente de tip caracter, declarat mai sus, începe cu locaţia de memorie 1100, înmemorie acesta apare astfel:Element
c
[0]
c
[1]
c
[2]
c
[3]
c
[4]
c
[5]
c
[6]
c
[7]Adresă11001101110211031104110511061107
 
www.cartiaz.ro  – Carti si articole online gratuite de la A la ZObservaţie:
Limbajul C nu controlează limitele unui tablou. Se pot depăşi ambelemargini, distrugând u-se alte date sau cod de program, fără ca să se semnaleze eroare.
Aplicaţie
Programul următor determiminimul dintre termenii pozitivi ai unui şir şimaximul 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=\%d\n",min);if (neg) printf("MAX neg=\%d\n",max);if ((poz==0)&&(neg==0)) printf("Toate numerele suntnule\n");getch();}
Şiruri de caractere
 
www.cartiaz.ro  – Carti si articole online gratuite de la A la Z
Î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
];Pentru a se marca sfârşitul şirului, după ultimul caracter din şir, se adaugă un octetcu valoarea zero, adică caracterul ’\0’. În caz particular, şirul vid are primul element chiar terminatorul ’\0’.Dimensiunea indicată la declarare, în cazul unui tablou de tip şir, trebuie să fie cuo unitate mai mare decăt cel mai lung şir, pentru a încăpea şi terminatorul’\0’. Astfel într-un tablou cu
număr_elemente
caractere poate încăpea un şir cu cel mult
număr_elemente
-1 caractere.Terminatorul ’\0’ permite testarea facia sfârşitului şirului. De exemplu, progrmul
 Lungime sir de caractere
citeşte un sir şi îi calculează lungimea.
/*
Lungime sir de caractere
*/#include <stdio.h>#include <conio.h>void main(){clrscr();char i,s[100];printf("\tIntroduceti un sir de caractere:");gets(s); /*
citeste un sir terminat cu Enter
*/for(i=0;s[i];++i);printf("\tlungimea sirului este=%d",i);getch();}
Observaţie
: Pentru a se putea citi un şir ce conţine şi spaţii trebuie să se utilizezefuncţia
 gets
, deoarece funcţia
 scanf 
citeşte şiruri ce se termină cu spatiu.De exemplu, instrucţiunea:
scanf("%10s",s);
citeste un şir 
restricţionat
la 10 caractere şi
terminat cu
tasta
Spaţiu
sau
Enter
.O
constantă şir de caractere
este o listă de caractere încadrată de ghilimele. Laîntâlnirea constantei, compilatorul rezervă zona de memorie necesară, o iniţializează cucodurile ASCII ale caracterelor şirului şi adaugă terminatorul ’\0’. O asemenea constantă poate fi utilizată pentru iniţializarea unui şir de caractere.De exemplu, programul
Constanta sir de caractere
conţine un şir de caractere,
 s
,iniţializat, afişează codurile caracterelor acestuia, citeşte un nou şir şi îl afişează.
/*
Constanta sir de caractere
*/

Activity (131)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
Cristina Diana liked this
Isabella Sirma liked this
La_Symboliste liked this
Oleg Cebanu liked this
Georgiana Matei liked this
cristina97 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->