DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Перезавантаження функцій

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Програмування Ч 3 Структури даних і алгоритми

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „ Львівська політехніка “ Кафедра ЕОМ Звіт З Лабораторної роботи №1:“ Перезавантаження функцій ” МЕТА РОБОТИ: ПОЗНАЙОМИТИСЯ ІЗ ПЕРЕВАНТАЖЕННЯМ ФУНКЦІЙ Перевантаження функцій С++ дозволяє визначати декілька функцій з одним і тим же іменем, якщо дані функції мають різні набори параметрів (принаймні різні типи параметрів). Нехай оголошені наступні функції: іnt func(іnt, іnt); іnt func(char, double); іnt func(long, double); іnt func(float, ...); // Функція з невизначеним числом аргументів. іnt func(char*, іnt);   При виклику функції з ім’ям func спершу компілятор намагатиметься знайти функцію, формальні аргументи якої відповідають фактичним аргументам без усяких перетворень типів або з використанням тільки неминучих перетворень - наприклад, імені масиву до покажчика або значення змінної до константи або навпаки. char strіng[ ] = "Рядок - це масив символів"; іnt і = func (strіng, 13); // func (char*, іnt); іnt j = func(1995L, 36.6); // func(long, double);   Якщо відповідна функція не знайдена, то здійснюється пошук такої функції, щоб для відповідності формальних і фактичних аргументів досить було використати тільки такі стандартні перетворення, що не спричиняють перетворень цілих типів до типів з плаваючою крапкою і навпаки. При цьому підбирається функція, для якої число таких перетворень було б мінімальним. float a=36.6; j = func('a', a); // func(char, double)   Третім етапом є пошук такої функції, для виклику якої досить здійснити будь-які стандартні перетворення аргументів (і знову так, щоб цих перетворень було якнайменше). іnt l = func("РІК:", 2002.3); // func (char*, іnt)   ЗАВДАННЯ: Варіант №11 Написати реалізацію перевантажених функцій : int func(int* arr, int length); int func(double * arr, int length); Функція func перевіряє чи в масиві чередуються знаки. Програма: #include <stdio.h> #include "func.h" int func(double *arr, int length){ bool negative=false; printf("\n[double]\n"); if(arr[0]<0)negative=true; for(int i=1; i<length; i++){ if(arr[i]<0){ if(negative)return 0; negative = true; }else{ if(!negative)return 0; negative = false; } } return 1; } int func(int *arr, int length){ bool negative=false; printf("\n[integer]\n"); if(arr[0]<0)negative=true; for(int i=1; i<length; i++){ if(arr[i]<0){ if(negative)return 0; negative = true; }else{ if(!negative)return 0; negative = false; } } return 1; } #include <stdio.h> #include "func.h" void main(){ int len=0, result=0; printf("Please enter length of array => "); scanf("%d", &len); printf("\n"); if(len<2){ printf("Error! Length of array at the least must be equal 2!\n"); return; } printf("===========\n\n"); double * a=new double[len]; for(int i=0; i<len; i++){ printf("Please enter element of array (#%d) => ", i+1); scanf("%Lf", &a[i]); } result = func(a, len); if(result==1)printf("\nThe elements (numbers) of array are alternate with each other. [%d]\n", result); else printf("\nThe elements (numbers) of array are NOT alternate with each other. [%d]\n", result); printf("\n===========\n\n"); int * a2=new int[len]; for(int i=0; i<len; i++){ printf("Please enter element of array (#%d) => ", i+1); scanf("%d", &a2[i]); } //befev result = func(a2, len); if(result==1)printf("\nThe elements (numbers) of array are alternate with each other. [%d]\n", result); else printf("\nThe elements (numbers) of array are NOT alternate with each other. [%d]\n", result); } Висновок: На лабораторній роботі №2, я познайомився з перезавантаженням функцій.
Антиботан аватар за замовчуванням

04.06.2014 18:30

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!