Добавил:
okley
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:1 семестр / sr7
.c#include <locale.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
// int random(int range_min, int range_max){ // Функция для произвольного диапазона случайных числен
// int r = ((double)rand() / RAND_MAX) * (range_max - range_min) + range_min;
// return(r);
// }
int main(void)
{
// Часть 1. Произвольный массив
// double md;
// int KOLVO, MINIMUM, MAXIMUM, a, m=0, sc=0, sc2=0, sc3=0;
// printf("Input: 'Number of el.' 'Lower border' 'Higher border' 'Value of a'\n");
// scanf("%d %d %d %d", &KOLVO, &MINIMUM, &MAXIMUM, &a);
// int mas[KOLVO];
// for (int i = 0; i < KOLVO; i++){
// mas[i]=random(MINIMUM, MAXIMUM);
// if(mas[i]>a){
// m+=mas[i];
// sc+=1;
// }
// printf(" m[%d]=%d\n", i, mas[i]);
// }
// md=((double)m)/((double)sc);
// for(int i=0; i<KOLVO; i++){
// if(mas[i]<md){
// sc2+=1;
// if(mas[i]>MINIMUM){
// MINIMUM=mas[i];
// }
// }
// }
// for(int i=0; i<KOLVO; i++){
// if(mas[i]<md){
// if(mas[i]==MINIMUM){
// sc3++;
// }
// }
// }
// printf("Average value of elements bigger than a = %f\n", md);
// printf("Number of elements less than m = %d Largest element less than m = %d Number of that element=%d\n", sc2, MINIMUM, sc3);
// Часть 2. Через указатели.
// int m1=0;
// double md1;
// sc=0, sc2=0, sc3=0;
// int *p;
// printf("Input: 'Number of el.' 'Lower border' 'Higher border' 'Value of a'\n");
// scanf("%d %d %d %d", &KOLVO, &MINIMUM, &MAXIMUM, &a);
// int mas1[KOLVO];
// p=mas1;
// for (int i = 0; i < KOLVO; i++){
// *(p+i)=random(MINIMUM, MAXIMUM);
// if(*(p+i)>a){
// m1+=*(p+i);
// sc+=1;
// }
// printf(" m[%d]=%d\n", i, *(p+i));
// }
// md1=((double)m1)/((double)sc);
// p=mas1;
// for(int i=0; i<KOLVO; i++){
// if(*(p+i)<md1){
// sc2+=1;
// if(*(p+i)>MINIMUM){
// MINIMUM=*(p+i);
// }
// }
// }
// for(int i=0; i<KOLVO; i++){
// if(*(p+i)<md){
// if(*(p+i)==MINIMUM){
// sc3++;
// }
// }
// }
// printf("Average value of elements bigger than a = %f\n", md1);
// printf("Number of elements less than m = %d Largest element less than m = %d\n Number = %d", sc2, MINIMUM, sc3);
// Часть 3 - на автоматическую проверку.
double md;
int i, a, m=0, sc=0, sc2=0, sc3=0, MINIMUM=-10000;
int mas[40];
for (i=0; i<40; ++i){
scanf("%d", &mas[i]);
}
scanf("%d", &a);
for (i = 0; i < 40; i++){
if(mas[i]>a){
m+=mas[i];
sc+=1;
}
}
md=((double)m)/((double)sc);
for(int i=0; i<40; i++){
if(mas[i]<md){
sc2+=1;
if(mas[i]>MINIMUM){
MINIMUM=mas[i];
}
}
}
for(int i=0; i<40; i++){
if(mas[i]<md){
if(mas[i]==MINIMUM){
sc3++;
}
}
}
printf("%.04f\n%d\n%d %d\n", md, sc2, MINIMUM, sc3);
}
