Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<stdlib.h>
- #include<time.h>
- #include<iostream>
- int scan()
- {
- int a;
- scanf("%i ", &a);
- return a;
- }
- int random(int a, int b)
- {
- int c;
- c = a + rand() % (b - a + 1);
- return(c);
- }
- void sort(int *mass, int n)
- {
- for (int i = 0; i < n; ++i)
- for (int j = n - 1; j > i; --j)
- if (mass[j] < mass[j + 1])
- {
- int t = mass[j];
- mass[j] = mass[j + 1];
- mass[j + 1] = t;
- }
- }
- int null(int mass[], int n)
- {
- int count = 0;
- for (int i = 0; i < n; i++)
- {
- if (mass[i] == 0)
- {
- count = count++;
- }
- }
- return count;
- }
- int max_2(int mass[], int i)
- {
- i = 0;
- if (mass[i] == mass[i + 1])
- {
- printf("%d \n", mass[i]);
- }
- else
- {
- printf("\nТакого числа нет\n");
- }
- return mass[i];
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int min, max;
- const int max_size = 100; //Максимальный размер массива
- int i = 0;
- int n; //Будущий реальный размер массива
- int mass[max_size] = { 0 };
- int count = 0;
- int vibor;
- do
- { //Проверка размера и границ
- printf("Введите размерность массива n: ");
- scanf_s("%i", &n);
- printf("Введите min: ");
- scanf_s("%i", &min);
- printf("Введите max: ");
- scanf_s("%i", &max);
- printf("Заполнить массив с клавиатуры или рандомно?\n");
- } while ((n <= 0) && (max < min));
- printf("Чтобы заполнить с клавиатуры введите 1\n");
- printf("Чтобы заполнить рандомно введите любой символ кроме 1\n");
- scanf("%i, %c", &vibor);
- if (vibor == 1)
- {
- for (int i = 0; i < n; i++)
- {
- printf("Введите число: ");
- mass[i] = scan();
- while ((mass[i] > max) || (mass[i] < min))
- {
- printf("Повторите ввод: ");
- mass[i] = scan();
- }
- }
- }
- else
- {
- for (int i = 0; i < n; i++)
- {
- mass[i] = random(min, max);
- }
- }
- printf("Вывод массива: ");
- for (int i = 0; i < n; i++)
- {
- printf("%i ", mass[i]);
- }
- int z = 0;
- z = null(mass, n);
- printf("\nЧисло нулевых элементов массива: %d\n", z);
- sort(mass, sizeof(mass) / sizeof(mass[0]));
- printf("\nМаксимальное из чисел, встречающихся в заданном массиве более одного раза: ");
- int f = 0;
- f = max_2(mass, n);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement