- •Вступ. Основні стандарти мови
- •Директиви процесора
- •Void main()
- •Void main()
- •Void main()
- •Потоки введення-виведення
- •Індетифікатори і оператори
- •Адреси даних. Вказівники. Динамічна пам'ять
- •Int *nomer;
- •Void main()
- •Void main()
- •Розгалуження
- •Void main()
- •Void main()
- •Void main()
- •Int k, m; float cina;
Адреси даних. Вказівники. Динамічна пам'ять
Для розв'язання спецефічних для мови C++ задач потрібно знати не тільки значення змінних, а і її адресу у оперативній пам'яті. Для його визначення є операція:
&<назва даного>
int a = 25;
cout <<"значення змінної а = "<< a << endl;
cout <<"Адрес змінної а = "<<&a;
Вказівники
Вказівник - це змінна, значення якої є адреса. Вона вказує на початок області оперативної пам'яті, де зберігається дане. Вказівники дають змогу оперувати не з її іменами даних, а з її адресами.
<тип даного> *<назва вказівника>
Int *nomer;
float *rist, *prtA, *prtB;
<назва вказівники> = <адреса змінної>;
int n = 10; float st1, st2, st3;
nomer = &n
rist = &st1;
rist = &st3;
Отримати містиме комірки, на який вказує вказівник можна за допомогою конструкції
*<вказівник>
Динамічна пам'ять, її принципи і організація полягає у тому, що для змінних надається пам'ять за необхідністю(за вказівкою програміста). Далі ці дані опрацьовують і в потрібний момент пам'ять вивільняють. Такі змінні називають динамічні. Записується:
<тип вказівника> *<назва> = new <тип змінної>
Дія команди. Для відповідного типу змінної автоматично надається необхідна неперервна ділянка пам'яті. Команда new повертає обсяг цієї ділянки, а вказівник вказує на її початки.
int *prt = new float(3,14)
Вивільняють пам'ять за допомогою команди
delete <назва вказівника>
або занулюємо
<назва> = NULL
#include <iostream.h>
Void main()
{
int *c1 = new int;
*c1 = 5;
int *c2 = new int(7);
cout << *c1 <<"\t"<< *c2 <<"\n";
c1 = c2;
cout <<*c1 <<"\t"<< *c2 <<"\n";
delete (c2);
cout << *c1 <<"\n";
}
Дано координати 3-х вершин трикутника - А(1,1), В(2,2), С(-1,2)
#include <iostream.h>
#include <math.h>
#include <conio.h>
Void main()
{
clrscr();
float x1, x2, x3, y1, y2, y3;
cout <<"Уведіть точку А";
cin >> x1 >> y1;
cout <<"Уведіть точку В";
cin >> x2 >> y2;
cout <<"Уведіть точку С";
cin >> x3 >> y3;
float a, b, c, x, y, mb, p, s, r;
a = sqrt(pow((x3-x2),2) + pow((y3-y2),2));
b = sqrt(pow((x1-x3),2) + pow((y1-y3),2));
c = sqrt(pow((x1-x2),2) + pow((y1-y2),2));
x = (x1 + x3)/2;
y = (y1 + y3)/2;
mb = sqrt(pow((x - x2),2) + pow((y-y2),2));
p = (a + b + c)/2;
s = a * b * c / (4 * s);
cout <<"mb = "<< mb <<"\n";
cout <<"r = "<< r <<"\n";
getch();
}
Логічний вираз - це засіб записування умов у задачах відшукання даних, що задовольняють деякими критеріями. Логічний вираз набуває значень true i false.
Вирази |
Значення |
Вирази |
Значення |
!true |
false |
!false |
true |
true&&true |
true |
true||true |
true |
true&&false |
false |
true||false |
true |
false&&true |
false |
false||true |
true |
false&&false |
false |
false||false |
false |
a = 1; b = 7
Вирази |
Значення |
Вирази |
Значення |
a == b |
false |
a >-3 && a <= 2 |
true |
!(a == b) |
true |
a >= 0 && b <= 4 |
false |
a >= b |
false |
b < 9 || b > 15 |
true |
a != b |
true |
!(a<1 ||b >= 10) |
true |
a+6 == b |
true |
a != b || a+15 > b && b < 0 |
true |
a < b = 1 |
true |
(a != b || a + 15 < b) && b < 0 |
false |
2 |
true |
0 |
false |
b |
true |
!b |
false |
