Lucrarea nr



Yüklə 0,56 Mb.
səhifə11/20
tarix17.01.2019
ölçüsü0,56 Mb.
#98835
1   ...   7   8   9   10   11   12   13   14   ...   20

4.5Probleme propuse


Problema 1. Fie doi vectori, x şi y, cu câte trei componente de tip double fiecare. Elementele acestor vectori se vor citi de la tastatură. Să se facă un program care să calculeze suma celor doi vectori. Vectorii se vor aloca cu instrucţiunea new.
Problema 2. Fie doi vectori, a şi b, cu câte trei componente de tip double fiecare. Elementele acestor vectori se vor citi de la tastatură. Să se facă un program care să calculeze produsul scalar al celor doi vectori. Vectorii se vor aloca cu instrucţiunea malloc.

Indicaţie. Produsul scalar al celor doi vectori este


Problema 3. Fie un vector a cu trei componente de tip double. Componentele vectorului a se citesc de la tastatură. Să se determine cel mai mic component al vectorului a. Vectorul a se va aloca cu instrucţiunea new.
Problema 4. Fie un vector x cu trei componente de tip double. Componentele vectorului x se citesc de la tastatură. Să se determine cel mai mare component în valoare absolută al vectorului a. Vectorul a se va aloca cu instrucţiunea malloc.
Problema 5. Să se facă o funcţie care să calculeze suma componentelor unui vector x cu cinci componente de tip double. Prototipul funcţiei va fi

double suma(double x[]) ;

Să se utilizeze funcţia pentru a calcula în funcţia main() suma componentelor unui vector a cu 5 componente de tip double alocat cu funcţia new. Elementele vectorului a se citesc de la tastatură.
Problema 6. Fie următorul program ce defineşte două variabile de tip pointer la char, ptrchar şi ptrchar2. Să se execute programul şi să se explice rezultatele.
# include

using namespace std;

# include

int main()

{

char * ptrchar = (char *) malloc(10 * sizeof(char));



char * ptrchar2;

cout << "pointer to char size = " << sizeof(ptrchar) << endl;

cout << "pointer to char size = " << sizeof(ptrchar2) << endl;

cout << "char size = " << sizeof(* ptrchar) << endl;

return 0;

}

5Operaţii cu şiruri de caractere tip C




5.1Funcţii standard de prelucrare a caracterelor


Un sir de caractere tip C este un tablou unidimensional ale cărui componente sunt caractere ASCII, iar ultimul component conţine caracterul ‘\0’. Caracterul ‘\0’ este folosit în algoritme pentru detectarea sfârşitului de şir. Bibliotecile standard C / C++ conţin multe funcţii utile pentru lucrul cu caractere. Funcţiile următoare testează tipul unui caracter, cifră, literă, etc. Prototipurile lor se află în biblioteca sau .


Funcţie

Descriere

int isalnum (int c);

Test dacă un caracter este alfanumeric

int isalpha (int c);

Test dacă un caracter este alfabetic

int isdigit (int c);

Test dacă un caracter este o cifră zecimală

int isxdigit(int c);

Test dacă un caracter este o cifră hexazecimală

int islower (int c);

Test dacă un caracter este literă mică

int isupper (int c);

Test dacă un caracter este literă mare

int isspace (int c);

Test dacă un caracter este spaţiu (‘ ‘, ‘\n’, ‘\t’)

Tabelul 4. Funcţii standard de prelucrare a caracterelor.

Funcţiile au un rezultat diferit de zero dacă argumentul este conform descrierii funcţiei. Următoarele funcţii convertesc literele mari în litere mici şi invers.




Funcţie

Descriere

int tolower(int c);

Converteşte în litere mici

int toupper(int c);

Converteşte în litere mari

Alte funcţii ce prelucrează şiruri de caractere sunt :

int atoi(char s[]);

long atol(char s[]);

double atof(char s[]);

care convertesc un şir de caractere într-un număr întreg şi respectiv real. Prototipurile acestor funcţii se află în biblioteca sau şi sau .

O funcţie utilă la prelucrarea şirurilor este strlen() ce dă lungimea unui şir de caractere, fără caracterul ‘\0’ terminal. Prototipul acestei funcţii este

int strlen(char[]);

şi este definit în biblioteca sau .

Funcţia


int strcmp(const char s1[], const char s2[]);

compară două şiruri, s1 şi s2, caracter cu caracter, până la primul caracter diferit. Rezultatul este un număr < 0, = 0, sau > 0, după cum sunt caracterele diferite comparate. Exemple de utilizare a funcţiei strcmp sunt prezentate în tabelul de mai jos.




strcmp(“abc”, “bcd”)

< 0

‘a’ < ‘b’

strcmp(“xyz”, “xyz”)

= 0

Şirurile sunt egale

strcmp(“abcd”, “abc”)

> 0

şirul “abcd” este mai lung

Prototipul acestei funcţii se găseşte în biblioteca sau .

In limbajul C++ şirurile de caractere se citesc de la tastatură şi se scriu pe ecran cu instrucţiunile cin şi cout.

Fie x un şir de caractere. El se citeşte şi se afişază astfel

cin >> x ;

cout << x << endl ;

In limbajul C şirurile de caractere şe citesc de la tastatură şi se scriu pe ecran cu instrucţiunile scanf şi printf cu specificatorul de format %s.

Un şir de caractere x se citeşte şi se afişază astfel

scanf(“%s”, x);

printf(“% s \n”, x)

Sirul de caractere citit se termină la primul caracter spaţiu, tab sau ‘\n’.


Yüklə 0,56 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin