Пример работы с функциями

Ввести массив NxN (не больше 50) целых чисел, в функции посчитать сумму его положительных значений.

#include <stdio.h>

#include <conio.h>

void summa(int, int a1[ ][50]); // Описание прототипа функции

void main(void)

{

int a[50][50];

int i,j,N;

clrscr();

printf("\n Введите размер массива N (<50)\n");

scanf(“%d”,&N);

printf("\n Введите данные \n");

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

for(j=0; j<N; j++)

{

printf("\n a[%d][%d]=", i+1, j+1);

scanf("%d", &a[i][j]);

}

summa(N,a); // Обращение к функции

}

void summa(int n, int a1[ ][50]) // Описание (реализация) функции

{

int i,j,s;

printf("\n Функция summa \n"); // Вычисление суммы

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

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

if (a1[i][j]>0) s+=a1[i][j];

printf("\a\n Сумма = %d, Press any key... ",s);

getch();

}

Варианты индивидуальных заданий

Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Значение S(x) является рядом разложения функции Y(x). Значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.

Вычисление Y(x) и S(x) реализовать в виде функций.

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

Работу программы проверить для a=0,1; b=0,8; h=0,1; n выбрать в зависимости от варианта задания (с факториалом, без факториала).

1. .

2. .

3. .

4. .

5. .

6. .

7. .

8. .

9. .

10. .

11. .

12. .

13. .

14. .

15. .

16. .

17. .

18. .

19. .

20. .

Контрольные вопросы

1. Чем функция пользователя отличается от стандартной функции?

2. Способы передачи аргументов в функцию.

3. Поясните понятие “локальные” и “глобальные” переменные.

4. Для чего и каким образом применяется оператор return?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: