Программирование >>  Процедурные приложения 

1 ... 37 38 39 [ 40 ] 41 42 43 ... 150


#include <stdio.h> void, vsidefint is); int main() int iyourlength;

printf ( Введите длину ребра куба: ) ; scanf( %d ,&iyourlength) ; vside (iyourlength) ; return (0);

void vside(int is) {

int iarea, ivolume, isarea;

iarea = is * is; ivolume = is * is * is; isarea = 6 * iarea;

printf( \nДлина ребра куба: %d\n , is);

printf( Площадь грани куба: %d\n , iarea);

printf( Объем куба: %d\n , ivolume);

printf( Площадь поверхности куба: %d\n , isarea); }

Аргументы типа float

В следующем примере в функцию vhypotenuse() передаются два аргумента типа float, определяющие длину катетов прямоугольного треугольника. В функции вычисляется длина гипотенузы vhypotenuse().

* ffloat. с

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

* прямоугольного треугольника.

#include <stdio.h> #include <math.h>

void vhypotenuse(float ft,float fu); int main()

float fxlen, fylen;

printf( Введите длину первого катета: ); scanf( %f ,&fxlen);

printf( Введите длину второго катета: ); scanf( %f ,&fylen); vhypotenuse(fxlen,fylen); return (0);

void vhypotenuse(float ft,float fu) double dresult;

dresult = hypot((double) ft,(double) fu) ; printf( \nДлина гипотенузы равна%g \n , dresult); }

Функция hypot (), возвращающая длину гипотенузы, объявлена в файле МАТН.Н и принимает аргументы типа double, поэтому параметры fx и fу функции vhypotenuse() должны быть приведены к этому типу.

Аргументы типа double

Следующая программа считывает два числа типа double и возводит первое в степень второго.

* fdouble. с

* Эта программа на языке С возводит число в указанную степень.



#include <stdio.h> #include <math.h>

void vpower(double dt, double du); int main () { double dtnum, dunum;

printf( Введите основание степени: ); scanf( %lf ,&dtnum);

printf( \nВведите показатель степени: ); scanf( %lf ,&dunum); vpower(dtnum, dunum); return(0) ;

void vpower(double dt, double du) double danswer; danswer = pow(dt, du) ;

printf( \n%fв степени%f равно%f\n ,dt, du, danswer);} Массивы в качестве аргументов

В следующих примерах показано, как передать в функцию массив данных. В первой программе на языке С функция получает адрес первого элемента массива в виде указателя.

* fpointer. с

* Эта программа на языке С демонстрирует, как передать в функцию массив

* данных. Функция получает указатель на первый элемент массива.

#include <stdio.h>

void voutput(int *pinums);

int main ()

int iyourarray[7] = {2,7, 15,32,45,3, 1} ; printf( Передаем массив данных ,в функцию.\n ); voutput(iyourarray); return(0); }

void voutput (int*pinurns) , { int t ;

for(t= 0; t < 7; t++)

printf( Массив данных: %d \n ,pinums[t]); } printf( Введите основание степени: ); scanf( %lf ,&dtnum);

printf( \nВведите показатель степени: );

scanf( %lf ,&dunum);

vpower(dtnum, dunum);

return(0);

void vpower(double dt, double du) { double danswer; danswer = pow(dt,du) ;

printf( \n%fв степени%f равно%f\n ,dt,du, danswer), }

По сути, функция voutput () получаетимямассива iyourarray [ ]. Но данное имя одновременно является указателем на первый элемент массива. Это справедливо для любых массивов.



В объявлении функции можно также указать, что ее аргументом является массив неопределенного размера. В приводимом ниже примере показано, как реализовать это в языке C++. (Аналогичный подход допустим и в языке С.)

farray.cpp

Эта программа на языке C++ вычисляет среднее арифметическое ряда чисел.

#include <iostream.h>

void avg (float fnums [ ]) ;

int main () {

float iyourarray[8] = (12.3,25.7,82.1,6.0,7.01,0.25,4.2,6.28);

cout<< Передаем массив в функцию для вычисления среднего значения. \n ; avg (iyourarray) ; return (0); }

void avg (float f nums [ ] ) { int iv;

float fsum = 0.0;

float faverage;

for(iv= 0; iv < 8; iv++) {

fsum += fnums[iv];

cout<< lv+1 << -и элемент равен << fnums[iv] << \n ; } faverage = fsum/iv; cout << \nСреднее равно << faverage << \n ;

Типы значений, возвращаемых функциями

В данном параграфе вы найдете примеры функций, возвращающих значения всех стандартных типов. В предыдущих параграфах мы рассматривали функции, которые не возвращали никаких данных. В таких случаях говорят, что функция возвращает значение типа void. По сути, функция voutput() получает имя массива iyourarray[ ]. Но данное имя одновременно является указателем на первый элемент массива. Это справедливо для любых массивов.

В объявлении функции можно также указать, что ее аргументом является массив неопределенного размера. В приводимом ниже примере показано, как реализовать это в языке C++. (Аналогичный подход допустим и в языке С.)

farray.cpp

Эта программа на языке C++ вычисляет среднее арифметическое ряда чисел.

#include <iostream.h>

void avg (float f nums [] ) ;

int main() {

float iyourarray[8] = (12.3,25.7,82.1,6.0,7.01,0.25,4.2,6.28);

cout<< Передаем массив в функцию для вычисления среднего значения. \n ; avg (iyourarray) ; return (0); }

void avg (float fnums[]) { int iv;

float fsum = 0.0; float f average; for(iv= 0; iv < 8; iv++) { fsum += fnums[iv];

cout<< iv+1 << -и элемент равен << fnumsfiv] << \n ; }



1 ... 37 38 39 [ 40 ] 41 42 43 ... 150

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика