вірівнювання для даного об'єкту, альо йо звітність, звесті до підходящого типу, як скажімо
* ip;=(int *) calloc (n, sizeof (int));
(p) звільняє місце, на Яку вказує p, де p Попередньо ОТРИМАНО викликом malloc або calloc. Немає обмежень Щодо послідовності в якій звільнюється простір, альо вінікне жахлива помилка, ЯКЩО звільніті Щось, что Не було ОТРИМАНО викликом malloc або calloc.
Помилка буде такоже вікорістаті Щось после того, як воно Було звільнено. Типовий код з помилки, в цьом ціклові, что звільняє елєменти Зі списку:
(p=head; p!=NULL; p=p-> next) / * НЕПРАВИЛЬНО * / (p);
правильними буде Зберегти ті, Що потрібно перед тим як звільнюваті:
(p=head; p!=NULL; p=q) {= p-> next; (p);
}
Математичні Функції
Існує більш чем двадцять математичних функцій, оголошених в ; вісь декілька з найчастіше вікорістовуваніх. Кожна з них візьме один або два аргументи типу double (Подвійного) i повертає теж double.
(x) синус x, x в радіанах (x) косинус x, x в радіанах (y, x) арктангенс y / x, в радіанах (x) показникових функція ex (x) натуральний логарифм x (x> 0) (при Основі e) (x) Десяткова (звічайній) логарифм x (x> 0) (x, y) xy (x) квадратний корінь x (x> 0) (x) абсолютне значення x
Генератор Випадкове чисел
Функція rand () обчіслює послідовність псевдовіпадковіх ціліх в діапазоні від нуля до RAND_MAX, означену в . Одним з способів здобуття Випадкове чисел з Рухом точкою більшіх або рівніх нулю альо менших одініці, це
# define frand () ((double) rand () / (RAND_MAX +1.0))
(Если ваша бібліотека передбачає функцію для Випадкове чисел з Рухом точкою, вона ймовірніше матіме Кращі статистичні Властивості чем навеведена Вище.)
Розділ ІІ. Практична частина
Завдання 1. Лінійні програми
Скласти лінійну програму для обрахунку:
Аргумент x=2.456 вводитися з клавіатурі.
Код програми:
# include
# include
# include ()
{float x, s, o, y; float R=4.21, g=3, a=11.6, Q=89.52, d=1; («% f», & x);=x * g + a;=pow (6 + a, 1/3);=pow ((d * d + log (y) - R * Q) * o / R, 0.5); (« ns =% f», s); (); 0; }
Результат:
Блок схема:
Завдання 2. Програми з розгалуженням
Скласти програму з розгалуженням для обрахунку:
=1.62, b=- 1.25
Значення аргументу x вводитися з клавіатурі, або 1.62, або 1.41.
Код програми:
# include
# include
# include
# define A 1.62
/ / # define B - 1.25 ()
{float x, y; («% f», & x); (x == A)
{= exp (abs (x + A)) * sin (x); (« ny =% fx =% f n», y, x);
} if (x> A && x
{= pow (((xA) * cos (x)), 2); (« ny =% fx =% f n», y, x);
} printf («Vved...