Advertisement
dmkozyrev

task21

May 27th, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int count(int* begin, int* end, int* count1, int* count2){ // Функция принимает указатель на начало массива , и указатель , на конец массива + 1
  4.     *count1 = 0; *count2 = 0; // Обнуляем счетчики
  5.     for ( ; begin != end; begin++ ) { // Основной цикл , в котором пробегаем по всему массиву
  6.         if ( *begin % 2 == 1 ) // условие нечетности
  7.             *count1 += 1; // увеличиваем количество , если число нечетно
  8.         if ( *begin % 5 == 0 ) // условие деления на 5
  9.             *count2 += 1; // увеличиваем количество , если число делится на 5
  10.     }
  11. }
  12.  
  13. int main(){
  14.     unsigned const int N = 5; // Размер массива
  15.     int mas[] = {10, 17, 11, 2, 5}; // Сам массив
  16.     int (*func) (int*, int*, int*, int*); // Указатель на функцию
  17.     func = count; // Присвоение значения указателю на функцию count_odd_num
  18.     int count1, count2; // Создание счетчиков
  19.     (*func)(mas, mas+N, &count1, &count2); // Вызов указателя на функцию
  20.     printf("Count of odd numbers in massive: %d \n", count1); // Вывод результата 1
  21.     printf("Count of numbers that are divisible by 5: %d", count2); // Вывод результата 1
  22.     return 0;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement