Int i, n, vector_min, vector_max, count;
printf("\nЛабораторная работа №9_2");
printf("\nВариант №0");
printf("\nПО-11-1");
printf("\nПупкин Василий\n");
printf("\nВведите нижнюю границу диапазона:");
scanf("%d", &vector_min);
printf("\nВведите верхнюю границу диапазона:");
scanf("%d", &vector_max);
printf("\nВведите размер вектора:");
scanf("%d", &n);
int vector[n];
printf("\nИсходный вектор:\n");
Vorm_vector(n, vector_max, vector_min, vector);
for (i=0; i<n; i++)
printf("%5d", vector[i]);
printf("\n");
count = count_pol(n, vector);
printf("\nКоличество положительных элементов в векторе %d\n", count);
Return 0;
}
//описание функций
// 1. формирование вектора
void vorm_vector(int nn, int vect_max, int vect_min, int vect[nn])
{
Int i, m;
time_t t; // текущее время для инициализации
// генератора случайных чисел
srand((unsigned) time(&t)); // инициализация генератора
// случайных чисел
m = vect_max-vect_min + 1;
// получение случайного числа в диапазоне
// от vector_min до vector_max
for (i=0; i<nn; i++)
vect[i]=rand()% m + vect_min;
}
// 2. рекурсивное определение количества положительных элементов в векторе
int count_pol(int nn, int vect[nn])
{
Int m;
if (nn == 0)
m = 0; //в векторе уже нет элементов - терминальная ветвь
Else
{
m = count_pol(nn-1, vect);
if (vect[nn] > 0)
m++;
}
Дата добавления: 2015-04-19; просмотров: 646;