Другие языки программирования и технологии
1. Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные ч
Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные числа в диапазоне 160 - 180). Написать функцию подсчета среднего роста без максимального и минимального значений и функцию, выводящую первоначальный и результирующий массив в течении выполнения программы (до сортировки и после сортировки).
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
#include <math.h>
#include <limits.h>
#include <conio.h>
#define N 20
void show_array(int *, int);
int medium_height(int *, int);
int compare(const void *, const void *);
int main() {
int a[N], n, mh;
srand((unsigned)time(NULL));
for (n = 0; n < N; n++) a[n] = rand() % 21 + 160;
show_array(a, N);
qsort(a, N, sizeof(int), compare);
show_array(a, N);
mh = medium_height(a, N);
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Средний рост = %d", mh);
_getch();
return 0;
}
void show_array(int * arr, int size) {
int n;
for (n = 0; n < size; n++) printf("%d ", arr[n]);
printf("\n");
}
int medium_height(int * arr, int size) {
int n, max, min = INT_MAX, summa, count;
n = max = summa = count = 0;
float mh = 0;
for (n; n < size; n++) {
if (max < arr[n]) max = arr[n];
if (min > arr[n]) min = arr[n];
}
for (n = 0; n < size; n++) {
if (arr[n] != max || arr[n] != min) {
count++;
summa += arr[n];
}
}
if (count) {
mh = (float)summa / count;
mh = floor(mh + .5f);
}
return (int)mh;
}
int compare(const void * a, const void * b) {
return (*(int *)a - *(int *)b);
}
#include <stdlib.h>
#include <locale.h>
#include <time.h>
#include <math.h>
#include <limits.h>
#include <conio.h>
#define N 20
void show_array(int *, int);
int medium_height(int *, int);
int compare(const void *, const void *);
int main() {
int a[N], n, mh;
srand((unsigned)time(NULL));
for (n = 0; n < N; n++) a[n] = rand() % 21 + 160;
show_array(a, N);
qsort(a, N, sizeof(int), compare);
show_array(a, N);
mh = medium_height(a, N);
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Средний рост = %d", mh);
_getch();
return 0;
}
void show_array(int * arr, int size) {
int n;
for (n = 0; n < size; n++) printf("%d ", arr[n]);
printf("\n");
}
int medium_height(int * arr, int size) {
int n, max, min = INT_MAX, summa, count;
n = max = summa = count = 0;
float mh = 0;
for (n; n < size; n++) {
if (max < arr[n]) max = arr[n];
if (min > arr[n]) min = arr[n];
}
for (n = 0; n < size; n++) {
if (arr[n] != max || arr[n] != min) {
count++;
summa += arr[n];
}
}
if (count) {
mh = (float)summa / count;
mh = floor(mh + .5f);
}
return (int)mh;
}
int compare(const void * a, const void * b) {
return (*(int *)a - *(int *)b);
}
и сейчас мы угадаем на каком языке программирования оно тебе нужно.. . :)
Похожие вопросы
- Составить программу С++ В массиве целых чисел с количеством элементов n найти наиболее часто встречающееся число
- Проверте программу, которая вычисляет сумму целых чисел от а до 500 (значение a вводится с клавиатуры). c++
- Как написать программу, которая будет представлять вещественное число в памяти компьютера
- Напишите программу, которая находит максимальное среди чисел, записанных в файле, и выводит результат в другой файл.
- Напишите программу, которая находит в массиве количество элементов, равных заданному значению X .
- Объявить массив целых чисел и заполнить его случайными значенниями.
- помогите пожалуйста!!3.Напишите процедуру Input(A) для заполнения массива целых чисел A размером 10 x 10: 0 0 0 ...0 0
- Написать программу, которая формирует два массива чисел
- дан массив целых чисел F1,F2...Fn. распечатать элементы, нах-ся между min и max и их номера. подскажите где я ошибся
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами