Siruri de Caractere: Char Sir
Siruri de Caractere: Char Sir
Declaratie :
char sir[20] ;
Observatie: 1. Terminatorul de sir: \0. 2. Terminatorul de sir permite testarea s !rsitului sirului de caractere. "itirea unui sir de caractere : # caracter cu caracter ca la vector de intre$i% # gets ,fgets, scanf . & isarea unui sir de caractere: # caracter cu caracter ca la vector de intre$i%
# puts, printf .
'(emplu:
#include <stdio.h> int main() { char nume[20]; char prenume[20]; printf("Introduceti numele scanf("!s""nume); ");
");
printf("$n!s !s$n""prenume" nume); return 0; % #include <stdio.h> int main() { int n & '(; char ch; char str[)0]; printf("Introduceti caracterele sirului( 0 ' terminare) do { scanf("!c""*ch); if(ch && +0+) ,rea-; n..; str[n] & ch; %/hile((); str[n.(] & +$0+;
$n");
!s""str);
Functii standard utilizate la prelucrarea sirurilor de caractere(Tabel nr.1, Tabel nr.2) 1. )un$imea unui sir de caractere
#include <stdio.h> #include <strin#.h> int main() { char 1const p&"2cesta este un sir"; int n; n&strlen(p); printf("!d""n); char ta,[]&"2cesta este un sir"; n&strlen(ta,); printf("!d""n); n&strlen("2cesta este un sir"); printf("!d""n); return 0;
return 0;
!d$n""i); !d$n""9);
int main() { char str[] &"' 2cesta" este un sir."; char 1 pch; pch & strto- (str"" ".'"); /hile (pch :& ;<==) { printf ("!s$n""pch); pch & strto- (;<==" " ".'"); % return 0; %
'(ercitii: 1. 2entru un sir de caractere citit de la tastatur-3 str3 se cere: # S- se determine num-rul de aparitii a unui caracter .n cadrul sirului% # S- se stear$- toate aparitiile unui subsir3 str13 din cadrul sirului% # S- se a ise4e num-rul de vocale si de consoane din str % # S- se veri ice dac- sirul str este un palindrom. 2. Se consider- dou- siruri de caractere citite de la tastatur-. S- se scrie un pro$ram care a isea4- toate cuvintele comune din cele dou- siruri citite. *. S- se a ise4e unul sub altul3 toate su i(ele proprii ale unui cuvant citit de la tastatura 5su i(ele unui cuvant sunt compuse din minim un caracter si ma(im toate caracterele3 citite de la dreapta la stan$a6. '(emplu : 2entru cuv!ntul limba03 se va a isa 0 a0 ba0 mba03 imba0
limba0. +. Se citesc de la mediul de intrare n cuvinte. S- se scrie un pro$ram care ordonea4cuvintele citite: # .n unctie de lun$imea acestora% # al abetic. ,. Se citste de la tastatur- un sir de caractere care contine mai multe cuvinte separate prin unul sau mai multe spatii. Se cere: # s- se a ise4e cuvintele sirului care nu .ncep si nu se terminc- cu ma0uscul-% # s- se a ise4e cuvinte sirului rotite cu k caractere% 7 se va citit de la tastatur-% # pentru un caracater ch citit de la tastatur-3 s- se sorte4e cresc-tor cuvintele a late pe po4itii pare .n unctie de num-rul de aparitii ale caracterului ch% primul cuv!nt se consider- cu inde(ul 0% # s- se corecte4e si s- se a ise4e cuvintele care contin 8$reseli8 % un cuv!nt este considerat $resit dac- acesta contine secvente de dou- sau mai multe caractere consecutive identice3 iar corectarea se va reali4a prin eliminarea surplusului de caractere identice.
int int int int int >unctie islo/er(char isupper(char isalpha(char isdi#it(char isspace(char c) c) c) c) c) ( ( ( ( ( daca daca daca daca daca c c c c c @ @ @ @ @ { { { { { ?aloare returnata AaB"..B3B% A2B"..BCB% AaB"..B3B%{ A2B"..BCB% A0B"..BDB% A B" A$nB" A$tB"B$rB"B$fB"B$EB%
int stricmp( const char1 d" const char1 s) int strncmp( const char1 d" const char1 s" int n) char1 strchr( const char1 d" char c)
pointer la prima aparitie a lui c in d sau ;<==; 8auta carcaterul c in sirul d; intoarce un pointer la ultima aparitie a lui c in d sau ;<==; Intoarce un pointer la prima aparitie a sunsirului s in d sau ;<==; Intoarce lun#imea sirului s; 8onEertese literele mari in litere mici in sirul s; 8onEertese literele mici in litere mari in sirul s; 8onEertese literele mari in litere mici in sirul s; 8opia3a sirul d intr'o noua locatie de memorie si intoarce un pointer catre acea locatie; 8auta in d su,sirurile delimitate de caracterele din s.
int strlen( const char 1 s) char1 strl/r(char1 s) char1 strupr(char1 s) char1 strl/r(char1 s) 8har 1strdup(const char 1d)