- •Лабораторна робота №10
- •Порядок виконання роботи
- •1. Варіанти завдання
- •2. Теоретичні відомості
- •Int len (char e[ ])
- •Int len (char *s)
- •Void invert(char e[ ])
- •Void main( )
- •Int index(char [ ], char [ ]);
- •Int row(char c1[ ], char c2[ ])
- •Void cone(char *c1, char *c2)
- •Void substr(char *c1, char *c2, int n, int k)
- •3. Приклад розв’язання задачі на еом (варіант 3, завдання №7)
- •Void ChangeStr(char **s1,int m)
- •3.3 Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №11
- •Тема: Особливості роботи з одномірними динамічними масивами
- •Мета роботи: Отримання практичних навиків у роботі з одномірними динамічними масивами в мові c
- •Порядок виконання роботи
- •1. Варіанти завдання
- •2. Теоретичні відомості
- •Void main()
- •3. Приклад розв’язання задачі на еом (варіант №30)
- •3.2. Визначення змінних програми
- •3.3. Розробка тексту програми Крім файлів:
- •Int main(void) {
- •3.4. Налагодження програми
- •3.5. Результати роботи програми
- •Контрольні запитання
- •2. Теоретичні відомості
- •Int**array;
- •Void quart(int n, float * х)
- •Void main()
- •Void quart (int n, float X [ ])
- •3. Приклад розв’язання задачі на еом (варіант №30)
- •3.1. Розробка алгоритму вирішення
- •3.2. Представлення матриці в пам'яті
- •3.3. Визначення змінних програми (варіант 1)
- •Int size;
- •3.4. Розробка тексту програми (варіант 1)
- •Void fill(int *, int);
- •Void fill(int *a, int s) {
- •3.5. Відмінності для варіанту реалізації 3
- •Void fill(int far **, int);
- •Void fill(int far **a, int s) {
- •3.6. Налагодження програми
- •3.7. Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №13
- •Порядок виконання роботи
- •1. Варіанти завдання Завдання 1
- •2. Теоретичні відомості
- •Void main( )
- •Void main( )
- •Void main( )
- •3.Стандартні функції для роботи зі стрічками (бібліотека string.H)
- •4. Приклади використання стандартних функцій для роботи зі стрічками
- •Функція аналогічна до stpcpy, strcpy, strncat
- •Функція аналогічна до strcspn, strrchr, strspn, strstr
- •Int far _fstrcmp(const char far *s1, const char far *s2);
- •Функція аналогічна до stpcpy, strncpy
- •- Size _t maxlen - максимальне число символів, які копіюємо з вихідної стрічки в результуючу.
- •Приклад: /*strncpy/cpp*/
- •5. Приклад розв’язання задачі на еом (варіант 2)
- •5.1. Розробка алгоритму вирішення
- •5.2 Розробка тексту програми
- •Int main()
- •4.3 Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №14
- •Порядок виконання роботи
- •1. Варіанти завдання
- •2. Теоретичні відомості
- •Void main( )
- •Приклади розробки функцій для обробки текстової інформації
- •Int len (char e[ ])
- •Int len (char *s)
- •Void invert(char e[ ])
- •Void main( )
- •Int index(char [ ], char [ ]);
- •Int row(char c1[ ], char c2[ ])
- •Void cone(char *c1, char *c2)
- •Void substr(char *c1, char *c2, int n, int k)
- •3. Приклад розв’язання задачі на еом (завдання 2, варіант 7)
- •Void ChangeStr(char **s1,int m)
- •4.3 Результати роботи програми
- •Контрольні запитання
- •Лабораторна робота №15
- •Порядок виконання роботи
- •Варіанти завдання
- •Теоретичні відомості
- •Int pole2 ;
- •Приклад розв’язання задачі на еом (варіант №30)
- •Розробка алгоритму розв’язання задачі
- •Визначення змінних програми
- •Розробка тексту програми Текст програми починаємо з підключення файлу stdio.H.
- •Int main(void) {
- •If (!strcmp(mm[n].Name,"***")) break;
- •Контрольні запитання
- •Лабораторна робота №16
- •Порядок виконання роботи
- •1. Варіанти завдання
- •Теоретичні відомості Читання і запис текстових файлів
- •Int main ()
- •Приклад розв’язання задачі на еом (варіант 6)
- •Контрольні запитання
- •Лабораторна робота №17
- •Порядок виконання роботи
- •Варіанти завдання
- •Теоретичні відомості Читання і запис двійкових файлів
- •Відкриття двійкових фалів
- •Файли з послідовним доступом
- •Запис даних у файл c послідовним доступом
- •Int main()
- •If ( ! outf)
- •Int array[100];
- •Int main()
- •If ( ! inpf)
- •Int array[100];
- •Файли з довільним доступом
- •Int main()
- •If ( ! inpf)
- •Int main()
- •If ( ! outf)
- •Передача файлів між комп’ютерами.
- •Програмне підтвердження зв’язку
- •Перекачування файлу
- •Void send_file(fname)
- •Void wait(port)
- •Int port;
- •Прийом файлу
- •Void rec_file()
- •If(ferror(fp)) {
- •Void get_file_name(f)
- •Приклад розв’язання задачі на еом (варіант 10)
- •Контрольні питання
- •Література
3.Стандартні функції для роботи зі стрічками (бібліотека string.H)
В мові С існують стандартні функції для обробки стрічок, які спрощують розробку програм. Ці Функції знаходяться в бібліотеці string.h. Розглянемо основні з них.
Таблиця 13.1 - Основні стандартні функції обробки стрічок |
||||
Назва функції |
Призначення |
Синтаксис |
Опис |
|
stpcpy |
Копіювати стрічку у стрічку |
char *stpcpy(char *dest,const char *src); |
Копіює вихідну стрічку src і завершуючий її нуль у стрічку результату dest. Повертає dest + strlen(src). |
|
strcat, _fstrcat |
Конкатенувати стрічки |
char *strcat(char *dest, const char *src); char far *far _fstrcat(char far *dest, const char far *sfc); |
Конкатенує (об’єднує) вихідну стрічку src і ініціалі зовану результуючу стрічку dest, приєднуючи останню до кінця першої. Повертає dest |
|
Таблиця 13.1- Основні функції обробки стрічок (продовження) |
||||
strchr, _fstrchr |
Шукати в стрічці символ |
char *strchr(const char *s, int c); char far * far _fstrchr(const char far *s, int c); |
Шукає в стрічці s перше входження символу c, починаючи з початку стрічки. У випадку успіху повертає вказівник на знайдений символ, інакше повертає нуль |
|
strcmp, _fstrcmp |
Порівняти стрічки |
int strcmp(const char *s1, const char *s2); int far _fstrcmp(const char far *s1, const char far *s2); |
Порівнює дві стрічки. Повертає негативне значення, якщо s1 < s2; нуль, якщо s1 == s2; позитивне значення, якщо s1 > s2 |
|
strcmpi |
Порівняти стрічки не розрізняючи стрічкові і прописні літери |
int strcmpi(const char *s1, const char *s2); |
Ця функція аналогічна функції strcmp(), але ігнорує різницю між стрічковими і прописними літерами. Для сумісності з іншими компіляторами мови С функція strcmpi() реалізована у вигляді макросу, що безпосередньо викликає функцію strcmpi(). |
|
Таблиця 13.1- Основні функції обробки стрічок (продовження) |
||||
strcpy |
Копіювати стрічку у стрічку |
char *strcpy(char *dest,const char *src); char far * far_fstrcpy(char far*dest, const char far *src);
|
Копіює вихідну стрічку src і завершуючий її нульовий символ у стрічку результату dst, перезаписуючи символи результуючої стрічки, розташовані в місці копіювання. Повертає dest. |
|
_strdate |
Перетворити дату у стрічку |
char*_strdate(cha *datestr); |
Запам'ятовує поточну дату у вигляді стрічки у форматі mm/dd/yy (mm – місяць, dd – день, yy – рік. Повертає datestr. |
|
_strerror |
Створити стрічку повідомлення про помилку |
char *_strerror(const char *s); |
Створює зі стрічки s стрічку повідомлення про помилку, додаючи двокрапку, пробіл і опис поточної системної помилки |
|
strftime |
Запам'ятати дату і час у стрічці |
size_t strftime(char *s, size_t maxsize, const char *fmt const struct tm *t);, |
Форматує дату і час у вигляді текстової стрічки використовуючи систему правил перетворення, аналогічну системі printf(). |
|
Таблиця 13.1- Основні функції обробки стрічок (продовження) |
||||
strncpy, _fstrncpy |
Копіювати частини стрічок |
char *strncpy(char *dest, const char *src, size _t maxlen); char far *far _fstrncpy(char far *dest, const char far *src, size _t maxlen); |
Копіює максимум maxlen символів із вихідної стрічки src у результуючу стрічку dest, перезаписуючи символи результуючої стрічки. |
|
strstr, _fstrstr |
Шукати в стрічці підстрічку |
char *strstr (const char *s1, const char *s2); char far *far _ fstrstr (const char far *s1, const char far *s2); |
Шукає стрічку (s2) в іншій стрічці (s1). Повертає адресу першого символу входження стрічки або, якщо підстрічка s2 не знайдена в стрічку s1, - повертає нуль. |
|
strtod |
Перетворити стрічку у число типу double |
double strtod (const char *s, char **endptr); long double _strtold(const char *s, char ** endptr);
|
Перетворює символьне представлення числа з плаваючою крапкою у його двійкове представлення типу double чи long double. У випадку успіху повертає отриманий при перетворенні результат, а у випадку помилки повертає HUGE_VAL (strtod ()) |
|
Таблиця 13.1- Основні функції обробки стрічок (продовження) |
||||
strtol |
Перетворити стрічку у довге ціле |
long strtol (const char *s, char **endptr, int radix); |
Перетворить символьне представлення значення типу long у його двійкове представлення. Значення в стрічці може бути представлене в десятеричному, восьмеричному чи шістнадцятирічному вигляді, що використовує стандартні правила форматування мови С ( що діють для printf( ), scanf() і інших аналогічних функцій). |