Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Prog_3sem_2012.doc
Скачиваний:
6
Добавлен:
07.02.2016
Размер:
477.7 Кб
Скачать

Int main()

{clrscr();

randomize();

Int arr, barr, arr1, barr1;;

puts(“Максимальне число 10”);

arr=random(20);

barr=bigger(arr); // виклик функції, значення n=10

printf("arr=%3d barr=%3d\n",arr, barr);

puts(“\nМаксимальне число 50”);

arr1=random(100);

arr1=bigger(arr1,50); // виклик функції, значення n=50

printf("arr1=%3d barr1=%3d\n",arr1,barr1);

puts("\nPress any key...");

getch();

return 0;}

Завдання до програми 3.3  Розробіть задану згідно варіанту функцію з трьома вхідними параметрами типу float x, a, b, два з яких (a,b) мають значення за умовчанням, та продемонструйте роботу цієї функції, зробивши в головній програмі три виклики функції з різними значеннями та різним числом параметрів. Запишіть коментарі до отриманих результатів.

  1. Функція, яка повертає значення a*x, якщо а від‘ємне, інакше значення b*x.

  2. Функція, яка повертає значення x*x-a, якщо а додатне, інакше значення x*x-b.

  3. Функція, яка повертає значення x+a, якщо а більше b, інакше значення x+b.

  4. Функція, яка повертає значення виразу (x*ab).

  5. Функція, яка повертає значення виразу (a+x*b).

Програма 3.4  Показана робота функцій зі змінним числом параметрів. В першій функції за допомогою першого параметра передається до неї значення кількості параметрів, що йдуть за першим. Ця функція повертає суму другого і наступних параметрів. Друга функція обчислює добуток аргументів, а ознакою закінчення списку параметрів є деяке визначене значення параметра.

#include <stdio.h>

#include <conio.h>

int varg1(int i,...) // визначення функції varg1

{int *num_arg=&i;

int sum=0;

for(;i;i--)

sum+=*(++num_arg);

return sum;

}

double varg2(double arg,...) // визначення функції varg2

{double mul=1.0;

double *ptr=&arg;

if(*ptr==0.0) return 0;

for(;*ptr!=999.0;ptr++) mul*=*ptr;

return mul;

}

Int main()

{clrscr();

int a=11,b=22,c=33,sum;

double mul,x=2.25,y=4.4,z=5.0,end=999.0;

sum=varg1(2,a,b); // виклик функції

printf("sum(a,b)=%d\n",sum);

int j=3;

sum=varg1(j,a,b,c); // виклик функції

printf("sum(a,b,c)=%d\n",sum);

sum=varg1(6,a,b,c,100,200,700); // виклик функції

printf("sum(...)=%d\n",sum);

mul=varg2(x,y,z,end); // виклик функції

printf("mul(x,y,z)=%.2lf\n",mul);

mul=varg2(x,y,z,1.5,4.2,end); // виклик функції

printf("mul(...)=%.2lf\n",mul);

puts("\nPress any key...");

getch();

return 0;

}

Завдання до програми 3.4  Розробіть задану згідно варіанту функцію зі змінним числом параметрів та продемонструйте роботу цієї функції, зробивши в головній програмі кілька викликів функції з різними значеннями. Всі параметри, крім розміру, мають тип double.

  1. Функція обчислює суму першого параметра і добуток параметрів, що йдуть за другим: F=arg1+arg3*arg4*..., загальна кількість параметрів передається за допомогою другого параметру (тип int) .

  2. Функція обчислює добуток першого параметра і суми параметрів, що йдуть за першим: F=arg1*(arg2+arg3+arg4+…), ознакою закінчення списку параметрів є деяке визначене значення параметра.

  3. Функція обчислює суму додатних параметрів типу double, загальна кількість параметрів передається за допомогою першого параметру (тип int) .

  4. Функція обчислює добуток додатних параметрів, ознакою закінчення списку параметрів є деяке визначене значення параметра.

  5. Функція обчислює суму другого параметра і добуток параметрів, що йдуть за другим: F=arg2+(arg3*arg4*…), загальна кількість параметрів передається за допомогою першого параметру (тип int) .

Програма 3.5 В програмі демонструється передача аргументів у функцію main (int argc,char **argv,char**envp). Для роботи програми її необхідно запустити з командного рядка, наприклад, у середовищі FAR, NC, VC і ін. Для налагодження подібних програм у IDE BC31 є опція Run|Arguments, за допомогою якої в діалоговому вікні Program Arguments можна ввести аргументи.

#include <stdio.h>

#include <conio.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]