Указатели. Найти количество элементов массива, которые больше 100, меньше 100, равны 100 - C (СИ)
Формулировка задачи:
Разработать функцию,которая находит количество элементов массива,которые больше 100,меньше 100, равно 100
Не могу вывести количество!!!
#include <stdio.h> #include<locale.h> #define MAX 100 void max_min_equal(int a[],int n,int *max,int *min,int *equal,int *k,int *l,int *m); int main(){ setlocale(LC_CTYPE,"rus"); int b[MAX],i,big,small,peer; int N; int k,l,m; printf("Введите размерность:\n"); scanf("%d",&N); setlocale(LC_CTYPE,"rus"); printf("Введите числа\n"); for(i=0;i<N;i++) scanf("%d",&b[i]); max_min_equal(b,N,&big,&small,&peer,&k,&l,&m); printf("Больше 100 %d %d\n",big,k); printf("Меньше 100 %d %d\n",small,l); printf("Равно 100 %d %d\n",peer,m); return 0; } void max_min_equal(int a[],int n,int *max,int*min,int*equal,int *k,int *l,int *m){ int i; *k=0; *l=0; *m=0; *max=*min=*equal=a[0]; for (i=1;i<n;i++){ if(a[i]>100){ *max=a[i]; }*k++; else if(a[i]<100){ *min=a[i]; }*l++; else if(a[i]==100){ *equal=a[i]; }*m++; }}
Решение задачи: «Указатели. Найти количество элементов массива, которые больше 100, меньше 100, равны 100»
textual
Листинг программы
#define MAX 100 void max_min_equal(int *a,int n,int &max,int &min,int &equal,int &k,int &l,int &m){ int i; k=l=m=0; max=min=equal=a[0]; for(i = 0; i < n; i++){ if(a[i] > MAX){ k++; } else if(a[i] < MAX){ l++; } else { m++; } if(max < a[i]){ max = a[i]; } if(min > a[i]){ min = a[i]; } } } int main() { setlocale(LC_CTYPE,"rus"); int b[MAX],i,big,small,peer; int N; int k,l,m; printf("Введите размерность:\n"); scanf_s("%d",&N); setlocale(LC_CTYPE,"rus"); printf("Введите числа\n"); for(i=0;i<N;i++) scanf_s("%d",&b[i]); max_min_equal(b,N,big,small,peer,k,l,m); printf("Больше 100 %d %d\n",big,k); printf("Меньше 100 %d %d\n",small,l); printf("Равно 100 %d %d\n",MAX,m);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д