Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.01.2020
Сообщений: 3
1

В линейном массиве найти последовательность четных по значению элементов, имеющих максимальную сумму

15.01.2020, 15:23. Просмотров 1008. Ответов 1
Метки нет (Все метки)

Условие:в линейном массиве найти последовательность четных по значению элементов, имеющих максимальную сумму

Добавлено через 2 часа 3 минуты
последовательность - значит что стоят в подряд
помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2020, 15:23
Ответы с готовыми решениями:

Найти в целочисленном массиве самую длинную последовательность чётных по значению элементов
Добрый день! а) Найти в целочисленном массиве самую длинную последовательность чётных по значению...

Найти в массиве чисел последовательность, имеющую максимальную сумму
Написать программу, находящую в массиве вещественных чисел последовательность, имеющую максимальную...

В каждом массиве вычислить сумму четных элементов и вывести на экран максимальную из них
13 Даны три одномерных массива. В каждом массиве вычислить сумму четных элементов и вывести на...

В одномерном целочисленном массиве найти сумму всех четных элементов и сумму элементов, стоящих на четных местах
Задать целочисленный массив А из 10 чисел. Найти сумму всех четных элементов и сумму элементов,...

1
1896 / 628 / 460
Регистрация: 15.01.2019
Сообщений: 1,943
16.01.2020, 06:24 2
Лучший ответ Сообщение было отмечено Hodga12 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
program Project1;
{в линейном массиве найти последовательность четных по
 значению элементов, имеющих максимальную сумму }
uses
  CRT;
const
  maxelem = 100;
var
  a,b,c: array [1..maxelem] of integer; { Переменная для  хранения массива.}
  n: integer; {  Переменная для хранения значения количества элементов в массиве.}
  i,j,k1,k2: integer; { Вспомогательные переменные для организации циклов.}
  sum: integer; { Переменная для хранения значения суммы}
  maxvalue: integer; { Переменная для хранения значения максимального элемента}
begin
  write('Введите значение максимального количества вводимых элементов массива: ');
  Readln(n);
  for i:= 1 to n do
    begin
     write('Введите значение ',i,' элемента: ');
     Readln(a[i]);
    end;
  writeln('Исходный массив: ');
  for i:= 1 to n do
    begin
      write(a[i]:5);
      if i mod 10 = 0 then
        writeln;
    end;
  writeln;
  writeln('Исходный массив с выделенными цветом четными числами: ');
  for i:= 1 to n do
    begin
      if a[i] mod 2 = 0 then
        textcolor(10)
      else
        textcolor(7);
      write(a[i]:5);
      if i mod 10 = 0 then
        writeln;
    end;
  writeln;
  textcolor(7);
  writeln('Обнаруженные последовательности четных чисел: ');
  sum:= 0;
  k1:= 0;
  maxvalue:= -2147483648;
  for i:= 1 to n do
    begin
      if (a[i] mod 2 = 0) then   { Условие для нахождения четных чисел}
        begin
          inc(k1);
          b[k1]:= a[i];      { Вывод найденных элементов в промежуточный массив}
          sum:= sum + a[i];   { Вычисление суммы четных элементов}
        end;
      if not (a[i] mod 2 = 0) or (i = n) then  {Условие для окончания работы над последовательностью}
        begin
          if k1 = 1 then  {Если последовательность состоит из одного числа, то такая последовательность удаляется}
            begin
              b[1]:= 0;
              k1:= 0;
              sum:=0;
            end;
          if k1 > 1 then   {если последовательность состоит из большего количества элементов}
            begin
             if sum > maxvalue then  {выявляется последовательность с наибольшей суммой}
                begin
                  maxvalue:= sum;
                  c:= b;            {найденная последовательность переноситься во второй промежуточный массив}
                  k2:= k1;
                end;
              for j:= 1 to k1 do   { Найденные отдельные последовательности выводятся в консоль}
                write(b[j]:5);
              writeln;
              for j:= 1 to n do     {Промежуточный массив переводится в начальное состояние}
                b[j]:= 0;
              k1:= 0;               {Счетчик количества элементов переводится в начальное состояние}
              sum:= 0;              { Переменная для суммирования переводится в начальное состояние}
            end;
         end;
    end;
  writeln('Последовательность четных чисел с наибольшей суммой:');
  for i:= 1 to k2 do
    write(c[i]:5);
  readln;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2020, 06:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

В линейном массиве найти сумму элементов, находящихся между максимальным и минимальным элементами
Дан числовой массив a(n). Найти сумму его элементов, расположенных между максимальным и минимальным...

Даны три одномерных массива. В каждом массиве вычислить сумму четных элементов и вывести на экран максимальную из них
13. Даны три одномерных массива. В каждом массиве вычислить сумму четных элементов и вывести на...

Найти сумму четных элементов массива, имеющих четные индексы
Ребята, помогите с задачей пожалуйста: Дан целочисленный массив С из n эл-тов (n<=30). Нужно найти...

Найти сумму четных элементов массива, имеющих четные индексы
Помогите обойтись без рандома, буду очень благодарен! program One; const n=30; var a:array ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.