Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Пример 20.

Читайте также:
  1. I Пример слияния в MS WORD 2003. Изучите материал и выполните пример на компьютере.
  2. I. Примерный перечень вопросов рубежного контроля.
  3. II. Примерный перечень вопросов к зачету (экзамену) по всему курсу.
  4. III Дайте формульную запись нижеследующих типов объектных словосочетаний и проиллюстрируйте их примерами.
  5. III Пример теста контроля знаний
  6. III. Схематическое изображение накопления - второй пример
  7. III. Схематическое изображение накопления - первый пример

/* Функция обмена значений двух переменных */

void swap (float *a, float *b)

/* a,b - указатели на заданные переменные */

{ float c;

c = *a; *a =*b; *b = c;

}

/*-------------------------------------------------*/

/* Гл. функция – программа тестирования ф-ции swap */

void main ()

{ float a=5.5, b=-2.4,

c=10, d=20;

swap (&a, &b);

swap (&c, &d);

printf (“После обмена a=%.1f, b=%.1f”, a, b);

printf (“\n c=%.0f, d=%.0f\n”,c,d);

}

 

main: swap:

 

5.5 -2.4
a a

       
 
   
 


b b

 

5.5
 
c c

 

 
d

 

Если параметрами функции являются массивы, то передаются всегда адреса массивов. В заголовке функции такие параметры можно объявить как массивы или как указатели. В любом случае имя параметра рассматривается как указатель на заданный при вызове функции массив. Поскольку память под новый массив не выделяется, размер массива можно не задавать (указать пустые квадратные скобки). Обращаться к элементам массива можно как с помощью индексов, так и с помощью операции “*”.

/* Задача 21. Даны две последовательности вещественных чисел. Найти разность максимальных значений этих последовательностей.

Для вычисления максимального значения использовать подпрограмму */

float fmax (float m[], int n)

{ float max;

int i;

max=m[0];

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

if (m[i] > max) max=m[i];

return max;

}

int main()

{ float x[25], y[50];

int n, m, i;

puts(“Vv razmer first posledov”); scanf(“%d”, &n); puts(“Vv first posledov”);

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

scanf(“%f”,&x[i]);

puts(“Vv razmer second posledov”); scanf(“%d”, &m); puts(“Vv second posledov”);

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

scanf(“%f”,&y[i]);

printf (“\n Razn = %.2f\n”, fmax(x,n) – fmax(y,m));

return 0;

}

 


Дата добавления: 2015-07-26; просмотров: 47 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Область действия переменных| Пример 22.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)