МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет “Львівська політехніка”
ФУНКЦІЇ ЗІ ЗМІННИМ ЧИСЛОМ ПАРАМЕТРІВ.
КОМАНДНА СТРІЧКА, ПАРАМЕТРИ ФУНКЦІЇ MAIN ()
ЗАВДАННЯ
до лабораторної роботи № 8 з курсу
“Проблемно-орієнтовані мови програмування”
для базового напрямку “Комп’ютерні науки”
Затверджено
на засіданні кафедри
систем автоматизованого проектування
Протокол № ____ від _______2007__ р.
ЛЬВІВ – 2007
1. У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівник NULL. Рядки необхідно вивести на екран.. Оскільки аргументами є рядки, то в стек записати адреси рядків.
2. У функцію mul передаються: рядок формату, по якій необхідно вивести результат її виконання, ознаку, що задає тип даних (І - іnt, D - double), і числа, добуток яких потрібно обчислити. Ознака кінця списку - число нуль. Для обробки списку змінної довжини використовувати системні функції va_atart, va_arg, va_end. У другій функції по переданому формату вивести рядки.
3. У функцію передаються дані типу int, потім дані типу float і послідовність рядків. Перед кожною послідовністю даних записане число, що задає кількість елементів, у ній. Вивести всі елементи на екран.
4.У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівник NULL. Рядки необхідно вивести на екран.. Зверніть увагу, так як аргументами є рядки, то в стек записуються адреси рядків.
5. У функцію передати масиви чисел типу float. Перший елемент списку задає кількість масивів, перше число масиву задає кількість чисел у масиві. У стек як параметри записати адреси чисел, а самі числа залишити у форматі float і у функції вивести по специфікації %f.
6. У головній функції main () ввести число n, що задає кількість рядків, що вводяться, а також, скільки рядків буде оброблено у функції. У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівник 0. Рядки необхідно вивести на екран. Програма завершує роботу при введенні числа 10. Оскільки аргументами є рядки, то в стек записуються адреси рядків.
7. У функцію зі змінним, числом параметрів передати масиви цілих чисел. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівник іnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.
8. Реалізувати функцію (зі змінним числом параметрів), у яку передаються масиви чисел типу float. Елементи масивів з номерами 0, 2, 4 і т.д. розсортувати по зростанню, а з номерами 1, 3, 5 і т.д. - по спаданню.
9. Bвести три масиви чисел типу float . Перший злемент масиву - кількість чисел у масиві, їх не більше 19. У функції зі змінним числом параметрів знайти суму всіх елементів кожного масиву.
10. У головній функції запитується .кількість функцій, які необхідно виконати. Виконувані функції задаються своїми номерами: 1 - обчислення sіn(x), 2 - cos(х), 3 - tan(x). Номера обраних функцій у вигляді списку параметрів змінної довжини передаються у функцію, і потім виконуються.
11. Реалізувати функцію зі змінним числом параметрів. Параметрами є символи, що визначають, які функції повинні бути виконані. Функції необхідно викликати, використовуючи вказівники на них.
12. З головного модуля викликати функцію зі змінним списком параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іnt k) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення суми і добутку цілих чисел.
13. У функцію можуть передаватися дані типу char і float. Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типу char перетворити в іnt, a float перетворити в double.
14. У функцію зі змінним, числом параметрів передати масиви чисел типу float. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівник іnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.
15. З головного модуля викликати функцію зі змінним списком параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іnt k) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення різниці чисел і визначення максимального елемента.
16. У функцію зі змінним числом параметрів надходять стрічки, кінцем списку є вказівник NULL. Дані рядки необхідно вивести на екран.. Оскільки рядки є аргументами, то в стек записуються адреси рядків.
17. У функцію mul1 передаються: рядок формату, по якій необхідно вивести результат її виконання, ознаку, що задає тип даних (F - float, D - double), і числа, добуток яких потрібно обчислити. Ознака кінця списку - число нуль. Для обробки списку змінної довжини використовувати системні функції va_atart, va_arg, va_end. У другій функції по переданому формату вивести рядки.
18. У функцію передаються дані типу int і послідовність рядків (char). Перед кожною послідовністю даних записане число, що задає кількість елементів, у ній. Вивести всі елементи на екран.
19. У функцію можуть передаватися дані типу іnt, float i double . Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типу іnt перетворити в float, a float перетворити в double.
20. У функцію передати масиви чисел типу double. У першому елементі списку задати кількість масивів, перше число масиву задає кількість чисел у масиві. У стек як параметри записати адреси чисел, а самі числа залишити у форматі float і у функції вивести по специфікації %f.
21. У головній функції main () ввести число n, що задає кількість рядків, які вводяться, а також, скільки рядків буде оброблено у функції. У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівник NULL. Рядки необхідно вивести на екран. Програма завершує роботу при введенні числа 10.
22. У функцію зі змінним, числом параметрів передати масиви цілих чисел. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівник іnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.
23. Реалізувати функцію (зі змінним числом параметрів), у яку передаються масиви цілих чисел. Елементи масивів з номерами 0, 2, 4 і т.д. розсортувати по зростанню, а з номерами 1, 3, 5 і т.д. - по спаданню.
24. Bвести три масиви чисел типу double. Перший злемент масиву - кількість чисел у масиві, їх не більше 9. У функції зі змінним числом параметрів знайти суму всіх елементів кожного масиву.
25. У головній функції запитується .кількість функцій, які необхідно виконати. Виконувані функції задаються своїми номерами: 1 - обчислення ln(x), 2 - cos(х), 3 - tan(x). Номери обраних функцій у вигляді списку параметрів змінної довжини передати у функцію, і потім виконати.
26. З головної функції викликати функцію зі змінним числом параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іnt k) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення частки і різниці цілих чисел.
27. Реалізувати функцію зі змінним числом параметрів. Параметрами є символи, що визначають, які функції повинні бути виконані. Функції необхідно викликати, використовуючи вказівники на них.
28. З головного модуля викликати функцію зі змінним списком параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іnt k) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення добутку і частки цілих чисел.
29. У функцію можуть передаватися дані типу char, int і float. Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типу char перетворити в іnt, a int перетворити в float.
30. У функцію зі змінним, числом параметрів передати масиви чисел типу float. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівник іnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.