Advertisement
Kseneya_00

Untitled

Feb 21st, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. //Найти номер последнего максимального элемента среди элементов,
  2. //лежащих в диапазоне[c, d] и расположенных до первого четного элемента.
  3. #include <stdio.h>
  4. #include <conio.h>
  5. #include <stdlib.h>
  6. #include <locale.h>
  7.  
  8. void mass_vvod();
  9. void granicy(int, int);
  10. int *a, n;
  11. int gr_1, gr_2, perv_ch = -1; //переменные gr_1 и gr_1 определяют границы [c,d]
  12. int main()
  13. {
  14. int max;
  15. setlocale(LC_ALL, "rus");
  16. mass_vvod();
  17. void granicy(&gr_1, &gr_2);
  18. for (int i = gr_1; i < gr_2 + 1; i++)//нахождение первого чётного числа на [c,d]
  19. {
  20. if (a[i] % 2 == 0 && a[i] != 0)
  21. {
  22. perv_ch = i;
  23. i = n;
  24. }
  25. }
  26. if (perv_ch == gr_1) printf("Первый чёт. эл-т первый на интервале!\n");
  27. else
  28. {
  29. for (int i = perv_ch - 1; i > gr_1; i--)
  30. {
  31. max = gr_1;
  32. if (a[i] > a[max])
  33. {
  34. max = i;
  35. i = -1;
  36. }
  37. }
  38. }
  39. printf("max=%d\n", max);
  40. free(a);
  41. _getch();
  42. }
  43. void mass_vvod()// функция ввода массива
  44. {
  45. int i;
  46. printf("Введите кол-во эл-тов массива\n");
  47. scanf_s("%d", &n);
  48. a = (int *)malloc(n * sizeof(int));
  49. for (int i = 0; i <n; i++)
  50. {
  51. printf("a[%d] = \n", i);
  52. scanf_s("%d", &a[i]);
  53. }
  54. _getch();
  55. }
  56. void granicy(int gr_1, int gr_2)// нахождение границ промежутка [c,d]
  57. {
  58. int c, d;
  59. printf("Введите c и d\n");
  60. scanf_s("%d %d", &c, &d);
  61.  
  62. for (int i = 0; i < n; i++)//нахождение первой границы c промежутка
  63. {
  64. if (a[i] == c)
  65. {
  66. gr_1 = i;
  67. i = n;
  68. }
  69.  
  70. }
  71. for (int i = 0; i < n; i++)//нахождение второй границы d промежутка
  72. {
  73. if (a[i] == d)
  74. {
  75. gr_2 = i;
  76. i = n;
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement