Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Формування динамічних масивів з використанням бібліотечних функцій




Формування динамічних масивів з використанням бібліотечних функцій

Для виділення й звільнення динамічної пам'яті використаються функції

Функція Прототип і короткий опис
malloc void * malloc(unsigned s) Повертає покажчик на початок області динамічної пам'яті довжиною в s байт, при невдалому завершенні повертає NULL
calloc void * calloc(unsigned n, unsigned m) Повертає покажчик на початок області динамічної пам'яті для розміщення n елементів довжиною по m байт кожний, при невдалому завершенні повертає NULL
realloc void * realloc(void * p, unsigned s) Змінює розмір блоку раніше виділеної динамічної пам'яті до розміру s байт, р- адреса початку змінюваного блоку, при невдалому завершенні повертає NULL
free void *free(void p) Звільняє раніше виділену ділянку динамічної пам'яті, р - адреса першого байта

Приклад:

Функція для формування одномірного динамічного масиву

int * make_mas(int n)

(

int *mas;

mas=(int*)malloc(n*sizeof(int));

for(int i=0; i< n; i++)

mas[i]=random(10);

return mas;

}

Для виділення пам'яті використається функція malloc, параметром якої є розмір виділюваної ділянки пам'яті рівний n*sizeof(int). Тому що функція malloc повертає нетипізований покажчик void*, те необхідно виконати перетворення отриманого нетипізованого покажчика в покажчик int*.

Звільнити виділену пам'ять можна функцією free(mas).

Формування динамічних масивів з використанням операцій new й delete

Для динамічного розподілу пам'яті використаються операції new й delete. Операція

new ім'я_типу

або

new ім'я_типу инициализатор

дозволяє виділити й зробити доступна вільна ділянка пам'яті, розміри якого відповідають типу даних, обумовленому ім'ям типу. У виділену ділянку заноситься значення обумовлене инициализатором, що не є обов'язковим параметром. У випадку успішного виділення пам'яті операція повертає адресу початку виділеної ділянки пам'яті, якщо ділянка не може бути виділений, то повертається NULL.

Приклади:

1) int *i;

i=new int(10);

2) float *f;

f=new float;

3) int *mas=new[5];

У прикладах 1, 2 показано як виділити пам'ять під скалярні змінні, приклад 3 показує виділення пам'яті під масив змінних.

    Операція delete покажчик звільняє ділянку пам'яті раніше виділений операцією new.

Приклад:

Функція для формування двовимірного динамічного масиву

int ** make_matr(int n)

{

int **matr;

int i, j;

matr=new int*[n];

for (i=0; i< n; i++)

{

matr[i]=new int[n];

for (j=0; j< n; j++)

matr[i][j]=random(10);

}

return matr;

}

При формуванні матриці спочатку виділяється пам'яті для масиву покажчиків на одномірні масиви, а потім у циклі з параметром виділяється пам'ять під n одномірних масивів.

**matr

 

 

*matr[1] *matr[2] *matr[3] . . . . *matr[n]

 

 

 

Щоб звільнити пам'ять необхідно виконати цикл для звільнення одномірних масивів

for(int i=0; i< n; i++)

delete matr[i];

Після цього звільняємо пам'ять на яку вказує покажчик matr

delete [] matr;

1. 2 Практика з офісного програмного забезпечення

Офісний набір OpenOffice. org включають наступні компоненти.

Calc (електронна таблиця)

Calc - це модуль електронних таблиць OpenOffice. org (OOo), що дозволяє обробляти й визуалізувати табличні дані. В електронну таблицю можна вводити дані, звичайно числові, і потім маніпулювати цими даними для одержання певних результатів.

Calc має просунуті засоби аналізу, побудови діаграм і можливості прийняття рішень, очікувані від високоякісних електронних таблиць. Він включає більш ніж 300 функцій, у тому числі для фінансових, статистичних і математичних операцій. Менеджер Сценарію забезпечує аналіз за принципом " а що ", змінюючи деяких із цих даних і спостерігаючи отримані результати без необхідності повного повторного уведення інших даних. Calc здійснює побудова 2- і 3-мірних діаграм, які можуть бути убудовані в інші документи OOo. Можна також працювати з робочими книгами Microsoft Excel і зберігати їх у форматі Excel. Calc може експортувати електронні таблиці в Adobe PDF й в HTML.

Impress (презентаційна графіка)

Impress - програма для роботи із презентаціями, що входить до складу офісного пакета OpenOffice. org. Impress - проста в освоєнні програма, що має дружелюбний інтерфейс, стандартні панелі інструментів і меню й дозволяє Вам створювати ефектні презентації. Можна створити слайди, які містять різні елементи, включаючи текст, маркіровані й нумеровані списки, таблиці, діаграми, зображення й інші графічні об'єкти. В Impress також входить засіб для перевірки орфографії, тезаурус, предустановленные стилі тексту, привабливі стилі для тла й зручне довідкове меню.


Рис. OpenOffice. org Calc

 

Impress забезпечує всі загальні засоби подання мультимедиа, такі як спеціальні ефекти, анімація й засоби малювання. Він об'єднаний з розширеними графічними можливостями компонентів OOo Draw й Math. Демонстрація слайдів може бути поверх того розширена спеціальними текстовими ефектами з Fontwork, а так само звуковими й відеокліпами. Impress сполучимо з форматом файлу Microsoft PowerPoint, і може також зберігати вашу роботу в численних графічних форматах, включаючи Macromedia Flash (SWF).


Рис. OpenOffice. org Impress

Draw (редактор векторної графіки)

Draw являє собою інструмент малювання в складі офісного пакета OpenOffice. org, що використає векторну графіку. Він містить ряд сервисов, що дозволяють швидко створювати всі види малюнків.

Draw інструмент векторного малювання, за допомогою якого можна виконувати все від простих діаграм або блок-схем до тривимірних художніх робіт. Його можливість Smart Connectors дозволяє Вам визначати ваші власні точки підключення. Можна використати Draw для створення малюнків для використання в кожному з інших компонентів OOo, а також створити власну картинку й додати її в галерею. Draw може імпортувати графікові з багатьох розповсюджених форматів і зберігати її в більш ніж 20-ти форматах, включаючи PNG, HTML, PDF й Flash.

Можливості Draw досить великі й досконалі. Хоча він розроблений не для конкуренції із кращими графічними додатками, Draw все-таки має кращі можливості, чим більшість інструментів малювання, убудованих в офісні пакети.

Модуль Draw ідеально інтегрований у систему OpenOffice. org, що дозволяє здійснювати обмін малюнками між будь-якими модулями системи дуже просто. Наприклад, якщо ви створюєте малюнок в Draw, те легко можете використати його також у документі Writer за допомогою копіювання й вставки. Ви також можете працювати із графікою безпосередньо в модулях Writer й Impress, використовуючи підмножину функцій й інструментів з Draw.


Рис. OpenOffice. org Draw

Base (база даних)

Base забезпечує інструментальні засоби для щоденної роботи з базами даних у межах простого інтерфейсу. Він може створити й редагувати форми, звіти, запити, таблиці, подання й відносини, так щоб керування зв'язаною базою даних було майже таким же, як в інших популярних додатках баз даних. Base забезпечує багато нових можливостей, таких як можливість аналізувати й редагувати відносини зі схеми подання. Base включає HSQLDB як його заданий за замовчуванням механізм реляционной бази даних. Він може також використати dBASE, Microsoft Access, MySQL або Oracle, або будь-яку ODBC або JDBC сумісну базу даних. Base також забезпечує підтримку поднабора ANSI-92 SQL.

Math (редактор формул)

Math - редактор формул або рівнянь у складі офісного пакета OpenOffice. org. Можна використати його для створення складних рівнянь, які включають знаки або символи, не доступні в стандартних шрифтових наборах.

Поки він використається для створення формул в інших документах, таких як файли Writer й Impress, Math може також виступати як автономний інструмент. Можна зберегти формули в стандартному форматі Mathematical Markup Language (MathML) для включення у веб-страницы й інші документи, створені не в OOo.

Переваги OpenOffice. org

От деякі з переваг OpenOffice. org перед іншими офісними пакетами:

Відсутність ліцензійної плати. OOo вільний для будь-якого використання й поширюється безкоштовно. Багато можливостей, які є доступними як доповнення за додаткову плату в інших офісних наборах (подібно експорту в PDF), вільні в OOo. Немає ніяких схованих витрат зараз або в майбутньому.

 


Рис. OpenOffice. org Base

Відкриті вихідні тексти. Можна поширювати, копіювати й змінювати програмне забезпечення стільки, скільки Ви бажаєте, відповідно до OOo Open Source ліцензії.

Межплатформенность. OOo 2. 0 працює на декількох апаратних архитектурах і під різними операційними системами, такими як Microsoft Windows, Mac OS X, Linux й Sun Solaris.

Велика язикова підтримка. Інтерфейс користувача OOo доступний на більш ніж 40 мовах і проект OOo надає орфографічні словники, словники переносів і тезауруса для більш ніж 70 мов і діалектів. OOo також забезпечує підтримку складного форматування тексту (CTL) і мов з напрямком листа праворуч ліворуч (RTL) (типу гінді, івриту й арабського).

Сумісний інтерфейс користувача. Усе компоненти мають інтуїтивно зрозумілий інтерфейс, створений для використання як новачком, так і майстром.

Інтеграція. Компоненти OpenOffice. org добре інтегровані один з одним.

Усе компоненти спільно використають загальний модуль перевірки орфографії й інших інструментів, які використаються однаково у всьому наборі. Наприклад, інструменти малювання, доступні в Writer, також можна виявити в Calc, подібні, але більше розвинені версії в Impress й Draw.

Ви не повинні знати, яке додаток використався для створення окремого файлу (наприклад, Можна відкрити файл Draw з Writer).

Модульность. Звичайно, якщо Ви змінюєте параметр, це може торкнутися все компоненти. Однак параметри OOo можуть бути встановлені на рівні одного додатка або навіть на рівні документа.

 


Рис. OpenOffice. org Math

Сумісність файлів. OOo включає можливість експорту у формати PDF й Flash, так само як підтримку відкриття й збереження файлів у багатьох розповсюджених форматах, включаючи Microsoft Office, HTML, XML, WordPerfect й Lotus 123.

Ні прив'язки до продавців. OOo 2. 0 використає OpenDocument, XML (eXtensible Markup Language) формат файлу, розроблений OASIS (Організація для просування структурованих інформаційних стандартів) як промисловий стандарт. Дані файли можуть легко бути разархивированы й прочитані в будь-якому текстовому редакторі, їхня структура відкрита й опублікована.

Ви маєте голос. Розширення, виправлення програмного забезпечення й дати випуску визначаються співтовариством розроблювачів. Можна приєднатися до співтовариства й впливати на розвиток продукту, що Ви використаєте.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...