Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <locale.h>
- #include <math.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- /*функция ввода массива с клавиатуры*/
- void vvodArray(int* a, int n) {
- printf("Введите числа (%i): ", n);
- for (int i = 0; i < n; i++)
- scanf_s("%i", &a[i]);
- }
- /*функция заполнения массива случайными числами*/
- void randomArray(int* a, int n) {
- srand(time(NULL));
- for (int i = 0; i < n; i++)
- a[i] = rand() % 100;
- };
- /*функция вывода массива*/
- void vivodArray(int* a, int n) {
- for (int i = 0; i < n; i++)
- printf("%i ", a[i]);
- printf("\n");
- };
- int main()
- {
- setlocale(LC_ALL, "rus");
- int n, k; //количество элементов исходного и полученного массивов
- /*ввод количества элементов исходного массива*/
- printf("Введите количество элементов массива: ");
- do {
- scanf_s("%i", &n);
- if (n <= 0)
- printf("Повторите ввод, введите положительное число: ");
- } while (n <= 0);
- /*выделение памяти под динамический массив*/
- int* a = (int*)malloc(sizeof(int*) * n);
- printf("Выберите способ ввода массива:\n1-ввод с клавиатуры\n2-заполнение массива случайными числами\n");
- /*выбор способа ввода массива*/
- int f;
- do {
- scanf_s("%i", &f);
- if ((f != 1) && (f != 2))
- printf("Введите только 1 или 2: ");
- } while ((f != 1) && (f != 2));
- if (f == 1)
- vvodArray(a, n);
- else
- randomArray(a, n);
- /*вывод исходного массива*/
- printf("Исходный массив: ");
- vivodArray(a, n);
- /*нахождение среднего значения элементов массива*/
- float srznach, count = 0;
- for (int i = 0; i < n; i++) {
- count += a[i];
- }
- srznach = count / n;
- /*нахождение наименее и наиболее отклоняющиеся от среднего значения элементов массива*/
- int c = 0, b = 0; /*Номера элементов*/
- for (int i = 0; i < n; i++) {
- /*нахождение далекого элемента*/
- if ((fabs(srznach - a[i]) < (fabs(srznach - a[c]))))
- c = i;
- /*нахождение ближнего элемента*/
- if ((fabs(srznach - a[i]) > (fabs(srznach - a[b]))))
- b = i;
- }
- printf("От среднего значения - %f\n наиболее далекий элемент - %i\nнаиболее близкий элемент - %i", srznach, a[b], a[c]);
- getchar(); getchar();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement