Showing posts with label siruri de caractere. Show all posts
Showing posts with label siruri de caractere. Show all posts

Thursday, December 31, 2015

Limbajul C++. Alte probleme cu siruri de caractere

Doua enunturi fara mari dificultati de pe programmr.com, cu mentiunea ca am folosit pentru initializarea sirurilor de caractere, in locul "batranei" functii gets(char *str) din biblioteca C, metoda getline din clasa std::istream

Aceasta incarca in spatiul indirectat de char * str un numar specificat, n, de caractere inclusiv terminatorul de sir. Adica, daca dorim sa impunem citirea a maxim 50 de caractere, linia corespunzatoare va fi:

cin.getline(str, 51);

Primul enunt cere scrierea unui cod care converteste fiecare caracter al unui sir de caractere in echivalent binar, fiind luate in calcul si eventualele spatii si semne de punctuatie.

O functie de conversie realizeaza 8 impartiri la 2 ale codului ASCII corespunzator fiercarui caracter transmis ca parametru, pentru a initializa bitii care codifica respectivul caracter, stiut fiind ca o variabila de tip char ocupa 8 biti in memorie.

Codul si printscreen-ul:

Wednesday, November 25, 2015

Limbajul C. "Insert a letter in string".

Fara prea multe comentarii (cu exceptia celor din cod :-), inca o problema din cursul de la University College Cork, menita sa fixeze notiuni precum siruri de caractere, tablouri, functii.

1.  Write and test a function that inserts a character anywhere in a string. The function should take the general form: strins(  char *string,  char character,  int position ).

Codul si printscreen-ul executiei:

Saturday, November 21, 2015

Limbajul C. Exercitii clasice cu siruri de caractere. MyStrcmp si eliminarea asa-numitelor white-spaces

1. Clasicul MyStrcmp

Doua siruri de caractere sunt "egale" daca au exact aceleasi caractere dispuse in aceeasi ordine.

O functie testeaza aceasta "egalitate" si intoarce zero in caz ca se verifica egalitatea.

Daca sir1 < sir2, adica daca verificarea, pentru un caracter oarecare, incepand cu primul, a codurilor ASCII, satisface inegalitatea, functia intoarce -1.

In caz contrar, intoarce +1.