Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 08
NameSize
..
README.md2.8 KiBlog stats plain blame
Solutions55 Blog stats plain
examples.cpp2.7 KiBlog stats plain blame

Указатели. Символни низове.

Въведение в указателите.

```c++ int arr[] = {1, 2, 3}; int* ptr = arr;

![enter image description here](https://i.ibb.co/cDcX8st/Untitled-Diagram-drawio-3.png)
   ```c++
    ptr++;
    cout << ptr[0]; //2;
    cout << ptr[1]; //3;

enter image description here

Въведение в символните низове (стрингове).

c++ char str[] = {'t', 'e', 's', 't', '\0'}; char str2[] = "test"; //equivalent to str char str3[7] = "test";

enter image description here

Примерна имплементация на:

  • strlen (намиране на дължина на стринг)
  • strcpy (копиране на стринг)
  • strcat (конкатениране на стрингове)
  • strcmp (лексикографско сравнение на стрингове)
  • atoi (преобразуване на стринг в число)
  • търсене в текст
  • броене на срещанията на конкретен символ в текст
  • заместване в стринг.

Задачи

Задача 1: Напишете функция, която приема 3 стринга - text, where и what и земства в text всяко срещане на where с what.

Да се реши без допълнителна памет (in-place).

Вход: "I am the best of the best", "best" , "worst" , Изход: "I am the worst of the worst"

Задача 2 Напишете функции toUpper и toLower, които приемат стринг и променят всички главни букви в малки/всички малки букви в главни.

Задача 3 Напишете функция, която приема стринг и връща броя на думите в него. (Думите са разделени с произволен брой интервали, табулации и препинателни знаци)

Вход: "Me? Why always me?, Изход: 4

Задача 4 Напишете функция, която приема стринг и връща най-често срещаната дума.(Думите са разделени с произволен брой интервали, табулации и препинателни знаци). Игнорираме разликата между главни и малки букви за задачата.

Вход: "Me? Why always me?, Изход: me

Задача 5 Напишете функция, която приема стринг и връща лексикографско най-малка дума.

Вход: "Me? Why always me?, Изход: always