Advertisement
Qellex

5.1

Dec 23rd, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. #include "stdio.h"
  2. #include "locale.h"
  3. #include "stdlib.h"
  4. #include "time.h"
  5.  
  6.  
  7. void input_arr(int* a, int n) {
  8.     printf("Введите числа (%i): ", n);
  9.     for (int i = 0; i < n; i++)
  10.         scanf_s("%i", &a[i]);
  11. }
  12.  
  13. void inputrand_arr(int* a, int N) {
  14.     for (int i = 0; i < N; i++) {
  15.         a[i] = rand() % 100;
  16.     }
  17. }
  18.  
  19. void outprt_arr(int* a, int N) {
  20.     for (int i = 0; i < N; i++) {
  21.         printf("%3d", a[i]);
  22.     }
  23. }
  24.  
  25.  
  26. void main() {
  27.  
  28.     setlocale(LC_ALL, "rus");
  29.  
  30.     int N; // размер массива
  31.     srand(clock()); // датчик случайных чисел
  32.  
  33.     printf("Введите количество элементов массива: ");
  34.     do {
  35.         scanf_s("%i", &N);
  36.         if (N <= 0)
  37.             printf("Повторите ввод, введите положительное число: ");
  38.     } while (N <= 0);
  39.  
  40.     int* a = (int*)malloc(sizeof(int*) * N);
  41.     printf("Выберите способ ввода массива:\n1-ввод с клавиатуры\n2-заполнение массива случайными числами\n");
  42.  
  43.     int f;
  44.     do {
  45.         scanf_s("%i", &f);
  46.         if ((f != 1) && (f != 2))
  47.             printf("Введите только 1 или 2: ");
  48.     } while ((f != 1) && (f != 2));
  49.     if (f == 1)
  50.         input_arr(a, N);
  51.     else
  52.         inputrand_arr(a, N);
  53.  
  54.     printf("Исходный массив: ");
  55.     outprt_arr(a, N);
  56.  
  57.     int count = 0; // кол-во возрастаний
  58.  
  59.     // проверка на возрастания и если возрастания нету он проверяет возрастали ли предыдущие
  60.     for (int i = 1; i < N; i++) {
  61.         if (a[i] > a[i - 1])
  62.             continue;
  63.         if (a[i - 1] > a[i - 2])
  64.             count++;
  65.     }
  66.  
  67.  
  68.  
  69.  
  70.     printf("\nКол-во возастаниий равно %d", count);
  71.  
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement