Ввести массив 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?