Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 01 / README.md
diff options
context:
space:
mode:
Commite82535dfce27bc2ff690554cea51cfa71cdfd082 (patch)
Author
 Angel Dimitriev <angel_dimitriev@abv.bg>
2022-02-23 02:22:56 +0200
Committer
 GitHub <noreply@github.com>
2022-02-23 02:22:56 +0200
Filesaca0d55f0e40379b2bd224688f51c81d91d40fbb /Sem. 01/README.md
Object-oriented_programming_FMI-e82535dfce27bc2ff690554cea51cfa71cdfd082.tar
Object-oriented_programming_FMI-e82535dfce27bc2ff690554cea51cfa71cdfd082.tar.gz
Object-oriented_programming_FMI-e82535dfce27bc2ff690554cea51cfa71cdfd082.zip
Parentb4b8e7e248296c85400be5ed6252bfb5f0638d3e (diff)
Update README.md
1 files changed, 74 insertions, 74 deletions
-rw-r--r--Sem. 01/README.md148
diff --git a/Sem. 01/README.md b/Sem. 01/README.md
index 44e80e9..db4774d 100644
--- a/Sem. 01/README.md
+++ b/Sem. 01/README.md
@@ -7,22 +7,22 @@
```c++
int main()
{
- int a = 10; // int in the stack
- int* ptr = new int(30); // int in the dyniamic memory (we use a pointer on the stack to point to the int)
+int a = 10; // int in the stack
+int* ptr = new int(30); // int in the dyniamic memory (we use a pointer on the stack to point to the int)
- std::cout << "First number: " << a << " " << " second number: " << (*ptr) << std::endl;
-
- std::cout << "Address of second number" << ptr << std::endl;
-
- delete ptr; //!!!
-
- ptr = &a;
- std::cout << "Address of first number" << ptr << std::endl;
-
- int& b = a; //another name for the variable
- b = 30;
-
- std::cout << "First number" << a << std::endl
+std::cout << "First number: " << a << " " << " second number: " << (*ptr) << std::endl;
+
+std::cout << "Address of second number" << ptr << std::endl;
+
+delete ptr; //!!!
+
+ptr = &a;
+std::cout << "Address of first number" << ptr << std::endl;
+
+int& b = a; //another name for the variable
+b = 30;
+
+std::cout << "First number" << a << std::endl
}
```
@@ -32,30 +32,30 @@ int main()
```c++
#include <iostream>
-void f(int& a)
+void f(int a)
{
- a++;
+a++;
}
int main()
{
- int a = 10;
- f(a);
- std::cout << a << std::endl; //10
+int a = 10;
+f(a);
+std::cout << a << std::endl; //10
}
```
##### Подаване по референция.
```c++
#include <iostream>
-void f(int* a)
+void f(int& a)
{
- (*a)++; //a++ will increment the pointer
+a++; //a++ will increment the pointer
}
int main()
{
- int a = 10;
- f(a);
- std::cout << a << std::endl; //11
+int a = 10;
+f(a);
+std::cout << a << std::endl; //11
}
```
##### Подаване по указател.
@@ -64,13 +64,13 @@ int main()
#include <iostream>
void f(int* a)
{
- (*a)++; //a++ will increment the pointer
+(*a)++; //a++ will increment the pointer
}
int main()
{
- int a = 10;
- f(a);
- std::cout << a << std::endl; //11
+int a = 10;
+f(a);
+std::cout << a << std::endl; //11
}
```
## Структури
@@ -79,9 +79,9 @@ int main()
```c++
struct Box
{
- double height;
- double width;
- double length;
+double height;
+double width;
+double length;
}
```
@@ -96,7 +96,7 @@ b3.height = 13;
b3.width = 14;
b3.lenght = 20;
```
-
+
#### Подаване във функции
Ако няма да променяме обекта го подаваме по **константна референция.**
```c++
@@ -105,12 +105,12 @@ double calculcateVolume(const Box& b)
return b.height * b.width * b.length;
}
```
- Може и само по **референция**, но тогава може да се правят промени върху подадения аргумент.
+ Може и само по **референция**, но тогава може да се правят промени върху подадения аргумент.
```c++
void readBox(Box& b)
{
- cin >> b.height >> b.weight;
+ cin >> b.height >> b.width >> b.length;
}
```
Може и да го подаваме по **копие**.
@@ -118,8 +118,8 @@ void readBox(Box& b)
Box revertBox(Box b)
{
int temp = b.height;
- b.height = b.weight;
- b.weight = temp;
+ b.height = b.width;
+ b.width = temp;
return b;
}
@@ -130,9 +130,9 @@ Box revertBox(Box b)
struct Box
{
- double height;
- double width;
- double length;
+double height;
+double width;
+double length;
};
double calculcateVolume(const Box& b)
@@ -142,15 +142,15 @@ double calculcateVolume(const Box& b)
int main()
{
- Box* boxPtr = new Box();
+Box* boxPtr = new Box();
- (*boxPtr).height = 3;
- (*boxPtr).width = 1;
- boxPtr->length = 4;
-
- std::cout << calculcateVolume(*boxPtr) << std::endl;
-
- delete boxPtr;
+(*boxPtr).height = 3;
+(*boxPtr).width = 1;
+boxPtr->length = 4;
+
+std::cout << calculcateVolume(*boxPtr) << std::endl;
+
+delete boxPtr;
}
```
@@ -158,23 +158,23 @@ int main()
```c++
struct Box
{
- double height;
- double width;
- double length;
+double height;
+double width;
+double length;
};
struct Warehouse
{
- char name[1024];
- Box b1;
- Box b2;
+char name[1024];
+Box b1;
+Box b2;
};
int main()
{
- Warehouse w = { "Ekont", { 1, 2, 3 }, { 4, 5, 3 } };
+Warehouse w = { "Ekont", { 1, 2, 3 }, { 4, 5, 3 } };
- std::cout << w.name;
+std::cout << w.name;
}
```
@@ -182,22 +182,22 @@ int main()
```c++
struct Box
{
- double height;
- double width;
- double length;
+double height;
+double width;
+double length;
};
int main()
{
- Box arr1[30]; //30 boxes
- Box* arr2 = new Box[20] //20 boxes in dynamic mem.
-
- std::cout << arr1[0].height << " " << arr2[3].width << std::endl;
+Box arr1[30]; //30 boxes
+Box* arr2 = new Box[20] //20 boxes in dynamic mem.
+
+std::cout << arr1[0].height << " " << arr2[3].width << std::endl;
- delete[] arr2;
+delete[] arr2;
}
```
-## Обединения
+## Обединения
Обединенията са част от паметта, която се поделя при съхранение на две или повече променливи. Променливите, поделящи паметта могат да са от различни типове. Във всеки един момент обаче може да се ползва само една променлива от състава на обединението.
```c++
@@ -205,21 +205,21 @@ int main()
union A
{
- int a;
- char b;
- short c;
+int a;
+char b;
+short c;
};
int main()
{
- A obj;
+A obj;
- obj.a = 32768;
+obj.a = 32768;
- std::cout << obj.a << std::endl;
- std::cout << obj.b << std::endl;
- std::cout << obj.c << std::endl;
+std::cout << obj.a << std::endl;
+std::cout << obj.b << std::endl;
+std::cout << obj.c << std::endl;
}
```
@@ -228,4 +228,4 @@ int main()
### Задачи
**Задача 1:** Въвежда се цяло число **N** и после **N** тригъгълника в равнината, определени от 3 точки ( 6 координати).
-Отпечатайте тригълниците **сортирани по лицата им.**
+Отпечатайте тригълниците **сортирани по лицата им.**