Паскаль как найти сумму всех четных элементов

Условие задачи : Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.

Сложность : легкая.

Решение задачи

Для того чтобы найти сумму четных элементов массива кроме обычного массива и цикла, тут нам понадобиться еще и условие которое будет проверять наше введенное число на четность.

Первое что мы сделаем мы создадим свой тип данных как и зачем читайте (тут) :

type

massiv =
array
[
1..1000
]
of
integer
;

Теперь какие нам нужны переменные ?

  • Для кол-ва элементов.
  • Для цикла for
  • Для массива
  • И для суммы.
  • var

    mass : massiv;

    n , i, summa :
    integer
    ;

    Теперь просим пользователя ввести длину массива, и присваиваем нашей сумме 0, для корректной работы.

    write
    (
    'Введите кол-во элементов : '
    );readln(n);
    summa :=
    0
    ;

    Ну теперь стоит сделать цикл, пока что простой в котором мы будем просить пользователя ввести число :

    for
    i:=
    1
    to
    n
    do

    begin

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    ); readln(mass[i]);

    summa := summa + mass[i];
    // считаем сумму

    end
    ;

    Т.е. в этом цикле мы считаем сумму всех чисел которые вводим, но нам нужны только четные. Как правильно определить четность числа вы можете посмотреть (тут)

    Нечего трудного в этом нет, просто используем операцию mod, которая ищет остаток от деления.

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    ); readln(mass[i]);
    if
    (mass[i]
    mod
    2
    =
    0
    )
    then

    summa := summa + mass[i]
    // считаем сумму
    else

    writeln
    (
    'Число '
    , mass[i],
    ' нечетное, к сумме прибавлено не будет'
    );

    Т.е. когда мы вводим число, после этого сразу идет условие, если введенное число четное, то мы прибавляем его к сумме, если нет то выводи сообщение, и сумма при этом не меняется.

    Вот и всё решение задачи. Сумма четных элементов массива найдена.

    Весь код программы

    uses
    crt;
    type

    massiv =
    array
    [
    1..1000
    ]
    of
    integer
    ;
    var

    mass : massiv;

    n , i, summa :
    integer
    ;
    begin

    clrscr;

    write
    (
    'Введите кол-во элементов : '
    );readln(n);

    summa :=
    0
    ;

    for
    i:=
    1
    to
    n
    do

    begin

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    ); readln(mass[i]);

    if
    (mass[i]
    mod
    2
    =
    0
    )
    then

    summa := summa + mass[i]
    // считаем сумму

    else

    writeln
    (
    'Число '
    , mass[i],
    ' нечетное, к сумме прибавлено не будет'
    );

    end
    ;

    writeln
    (
    'Сумма четных эл-тов равна : '
    , summa);

    readln;
    // чтобы программы не закрывалась.
    end
    .

    Предыдущая

    ПрограммированиеЗадачи по Pascal. Произведение нечетных элементов массива.

    Следующая

    ПрограммированиеЗадачи по Pascal. Найти среднее арифметическое массива.

    Формулировка задачи:

    Помогите мне, пожалуйста, написать вот эти задачи:

    1. Найти сумму четных, положительных элементов массива.

    Заранее всем очень благодарна)))

    Код к задаче: «Найти сумму четных элементов массива»

    textual

    const n=5;
    var
    i:integer;
    a:array[1..n] of integer;
    s:real;
    begin
    for i:=1 to n do  
    readln(a[i]); 
    for i:=1 to n do begin
    if (a[i]>0) and ((a[i] mod 2)=0) then 
    s:=s+a[i];end;
    writeln('Сумма: ',s);
    end.

    Полезно ли:

    5   голосов , оценка 4.200 из 5

    Перейти к содержанию

    Сумма четных положительных элементов массива

    Просмотров 3.9к. Обновлено 15 октября 2021

    В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.

    В цикле проверяем каждый элемент массива на четность и положительность. Данные условия можно скомбинировать через логическое «И» в заголовке одного условного оператора или использовать два (один вложен в другой) отдельных каждый со своим условием.

    Если элемент массива удовлетворяет обоим условиям, то его значение добавляется к переменной, в которой хранится сумма. После цикла ее значение выводится на экран.

    Ноль является четным числом, однако он не относится к положительным. Поэтому проверка на положительность — это «больше 0», а не «больше или равно 0». Хотя это не столь важно, так как добавление нуля к сумме ничего не меняет.

    Проверку на четность можно выполнить с помощью нахождения остатка от деления на 2. Если остаток равен нулю, то число четное. В ряде языков есть специальные функции, проверяющие четное число или нечетное.

    Pascal

    сумму четных элементов массива паскаль


    const N = 10;
    var
    a: array[1..N] of integer;
    i: byte;
    sum: integer;
    begin
    randomize;
    for i:=1 to N do a[i]:=random(10)-5;
    for i:=1 to N do write(a[i]:4);
    writeln;
    sum := 0;
    for i:=1 to N do begin
    if (a[i]>0) and (odd(a[i])=false) then
    sum := sum + a[i];
    end;
    writeln(sum);
    end.



    2 -5 2 -1 -4 -5 -5 3 3 -1
    4

    Язык Си


    #include
    #define N 10

    main() {
    int a[N];
    int i, sum;
    srand(time(NULL));
    for (i=0; i< N; i++) {
    a[i] = rand() % 10 - 5;
    printf("%4d", a[i]);
    }
    printf("n");

    sum = 0;
    for (i=0; i< N; i++)
    if (a[i] >= 0 && a[i]%2==0)
    sum += a[i];
    printf("%dn",sum);
    }



    -1 4 -5 4 -5 -1 0 1 -2 -5
    8

    Python

    сумму четных элементов массива python (питон)


    from random import random
    N = 10
    arr = [0] * N
    for i in range(N):
    arr[i] = int(random() * 10) - 5
    print(arr)
    s = 0
    for i in range(N):
    if arr[i] >= 0 and arr[i]%2 == 0:
    s += arr[i]
    print(s)



    [2, 2, -2, -3, -3, 1, 4, 4, -5, 2]
    14

    КуМир


    алг сумма чет полож
    нач
    цел N = 10
    цел таб arr[1:N]
    цел i,s
    нц для i от 1 до N
    arr[i] := irand(-5,5)
    вывод arr[i]:3
    кц
    вывод нс

    s := 0
    нц для i от 1 до N
    если arr[i] > 0 и mod(arr[i],2) = 0 то
    s := s + arr[i]
    все
    кц
    вывод s
    кон



    -1 -3 5 2 3 4 0 -4 3 -5
    6

    Basic-256


    N = 10
    dim arr(N)
    for i=0 to N-1
    arr[i] = int(rand*10) - 5
    print arr[i] + " ";
    next i
    print

    s = 0
    for i=0 to N-1
    if arr[i] > 0 and arr[i]%2 = 0 then
    s = s + arr[i]
    endif
    next i
    print s

    -4 -5 0 -4 -3 -5 2 4 0 -1
    6

    Одномерные массивы (последовательности).

    1. Задачи заполнения
    2. Задачи анализа
    3. Задачи поиска
    4. Задачи перестановки

    A: 3,-4,0,3,-5,10,0

    A[1]=3, A[3]=0, A[7]=0

    I — номер элемента, A[I] — элемент массива, стоящий на I-ом месте

    1. 1.Сформировать и вывести на экран последовательность из n элементов, заданных датчиком случайных чисел на интервале [-23, 34].

    Program posled;

    Var a: array[1..100] of integer;

          i, n: integer;

    Begin

      Write (‘Сколько элементов? ’);  Readln (n);

       For i=1 to n do

           begin      

                a[i]:= Random(58)-23;

                 writeln (a[i],’ ‘);

           end;

    End.

    2. Найти произведение элементов одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.

    Program proisveden;

    Var a: array[1..100] of integer;

          i, n, p: integer;

    Begin

      Write (‘Сколько элементов? ’);  Readln (n);

      p:=1;

      For i:=1 to n do

         begin

           write (‘введите число’); readln (a[i]);

           p:=p*a[i];

         end;

         writeln(‘произведение элементов равно:  ‘,p);

    End.

    3. Найти сумму элементов одномерного массива. Размер произвольный. Элементы вводятся с клавиатуры.

    Program summa;

    Var a: array[1..100] of real;

          i, n: integer;

            s: real;

    Begin

      Write (‘n=’); Readln (n);

      s:=0;

      For i:=1 to n do

         begin

           write (‘введите число’); readln (a[i]);

           s:=s+a[i];

         end;

         writeln(‘сумма  элементов равна  ‘,s);

    End.

    4. Задан массив А, состоящий из n чисел. Найти среднее арифметическое его элементов. Элементы вводятся с клавиатуры.

    Program srednee;

    Var a: array[1..100] of  real;

          i, n: integer;

            s,sred: real;

    Begin

      Write (‘n=’); Readln (n);

      s:=0;

      For i:=1 to n do

         begin

           write (‘введите число’); readln (a[i]);

           s:=s+a[i];

         end;

       sred:=s/n;    

      writeln(‘среднее арифметическое  элементов: ‘,s);

    End.

    5. Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.

    Program sumshet;

    Var a: array[1..100] of  real;

          i, n: integer;

            s,sred: real;

    Begin

      Write (‘n=’); Readln (n);

      s:=0;

      For i:=1 to n do

         begin

           write (‘введите число’); readln (a[i]);

           if i mod 2 = 0 then s:=s+a[i];

         end;

       writeln(‘сумма элементов с четными номерами: ‘,s);

    End.

    6. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-19, 26] (размер произвольный). Найти произведение элементов с нечетными номерами.

    Program proisvednechet;

    Var a: array[1..100] of  integer;

          i, n, p: integer;

    Begin

      Write (‘Сколько элементов? ’);  Readln (n);

      P:=1;  

      For i=1 to n do

           begin      

                a[i]:= Random(46)-19;

                 writeln (a[i],’ ‘);

                if i mod 2 <> 0 then P=P*a[i];

           end;

      Writeln(‘Произведение элементов с нечетными номерами:’, P);

    End.

    7. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-56, 47] (размер произвольный). Найти произведение элементов с четными номерами, которые превосходят некоторое число t.

    Program proisvedchetbolt;

    Var a: array[1..100] of integer;

          i, n, p, t: integer;

    Begin

      Write (‘Сколько элементов? ’);  Readln (n);

      P:=1;  

      For i=1 to n do

           begin      

                a[i]:= Random(104)-56;  writeln (a[i],’ ‘);

                if (i mod 2 = 0) and (a[i]>t) then P=P*a[i];

           end;

      Writeln(‘Произведение элементов с четными номерами, превосходящие число t:’, P);

    End.

    8. Найти наименьший элемент одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.

    Program minim;

    Var a: array[1..100] of real;

          i, n: integer;

             min: real;

    Begin

      Write (‘n=’); Readln (n);

      For i:=1 to n do

        begin

           write(‘a[‘,i,’]=’); readln (a[i]);

        end;

      min:=a[1];

      For i:=2 to n do

         If a[i]< min then min:=a[i];

      Writeln(‘наименьшее число:   ‘,min);

    End.

    9. Найти номер наименьшего элемента в массиве, заданного датчиком случайных чисел на интервале [-20, 25]. Размер произвольный.

    Program numberminim;

    Var a: array[1..100] of integer;

          i, n, num, min: integer;

    Begin

      Write (‘n=’); Readln (n);

      For i:=1 to n do

        begin

            a[i]:= Random(46)-20;

            writeln (a[i]);

        end;

      min:=a[1];

      num:=1;

      For i:=2 to n do

           If a[i]< min then

                begin

                    min:=a[i];

                    num:=i;

                end;

      Writeln(‘ номер наименьшего элемента:   ‘,num);

    End.

    10. В заданном одномерном  массиве, состоящем из n  целых чисел, подсчитать количество нулей.

    Program  kolv0;

    Var a: array[1..100] of integer;

          i, n, k: integer;

    Begin

      Write (‘n=’); Readln (n);

      For i:=1 to n do

        begin

           Write(‘a[‘,i,’]=’); readln (a[i]);

           if a[i]=0 then k:=k+1;

        end;

      Writeln(‘количество 0 равно  ’, k);

    end.

    11. В заданном одномерном  массиве, состоящем из n  целых чисел, подсчитать количество четных элементов.

    Program  kolvсchet;

    Var a: array[1..100] of integer;

          i, n, k: integer;

    Begin

      Write (‘n=’); Readln (n);

      For i:=1 to n do

        begin

           Write(‘a[‘,i,’]=’); readln (a[i]);

           if  a[i] mod 2=0 then k:=k+1;

        end;

      Writeln(‘количество четных элементов: ’, k);

    end.

    12. Найдите среднее арифметическое элементов массива, состоящего из 10 чисел, которые превышают по величине число С. Элементы вводятся с клавиатуры.

    Program sredarifmet;

    Var a: array[1..10] of  real;

          i, k: integer;

          C, S, sred: real;

    Begin

      For i:=1 to 10 do

        begin

           write(‘a[‘,i,’]=’);     readln (a[i]);

        end;

      write(‘введите С: ‘); readln (C );

      For i:=1 to 10 do

        begin

           If a[i]>C then

               begin      S=S+a[i];     K=K+1;   end;

         end;

       sred=S/k;

       Writeln(‘среднее арифметическое чисел, превосходящих ‘,C,’  равно  ‘,sred);

    End.

    13. Найти произведение элементов целочисленного одномерного массива с четными номерами, состоящего из n элементов. Элементы вводятся с клавиатуры.

    Program proizved_chet;

    Var a: array [1..100] of integer;

       i, n, p: integer;

    Begin

      p:=1;

     write (‘n=’);  readln (n);

      for i:=1 to n do

        begin

          write (‘a[‘,i,’]=’); readln (a[i]);

          if i mod 2=0 then p:=p*a[i];

        end;

      Writeln (‘произведение элементов массива с четными номерами равно ‘,p);

    End.

    14. В заданном одномерном массиве поменять местами соседние элементы.

    Var
      n, i, c : integer;
      a : array [1..1000] of integer;
    begin
      read (n);
       for i := 1 to n do read (a[i]);
      for i := 1 to n div 2 do
      begin
        c := a[i*2];
        a[i*2] := a[i*2-1];
        a[i*2-1] := c;
      end;
      for i := 1 to n do
        write (a[i], ‘ ‘);
    end.

    15. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из четных элементов массива А. Элементы вводятся с клавиатуры. Размер n.

    Program newmasiv;

    Var a: array[1..100] of  integer;

           b: array[1..100] of  integer;

         n, i, k: integer;

    Begin

      kol:=0; k:=0;

      write (‘n=’);  readln (n);

      For i:=1 to n do

        begin

           write(‘a[‘,i,’]=’);     readln (a[i]);

           if a[i] mod 2=0 then

                  begin

                       k:=k+1; b[k]:=a[i]; kol:=kol+1;

                  end;

              if kol=0 then writeln(‘четных элементов нет’) else    

              for k:=1 to kol do  write(‘b[‘,k,’]=’,b[k]);

        end;

    program zz1;

    const n = 3;

    m = 3; / / задаем количество элементов в массиве

    var i, j, k:integer; / / задаем переменные целого типа

    b:array [1 … n, 1 … m] of integer;

    begin

    for i:=1 to n do

    for j:=1 to m do / / вводим числа с клавиатуры и записываем их в массив

    read (b[i, j]);

    for i:=1 to n do / / выводим полученный массив на экран

    begin

    for j:=1 to m do

    write (b[i, j]:4);

    writeln;

    end;

    for i:=1 to n do

    for j:=1 to m do

    if b[i, j] mod 2 = 0 then k:=k + b[i, j];

    writeln (‘ сумма четных элементов массива = ‘, k); / /выводим ответ

    end.

    Понравилась статья? Поделить с друзьями:
  • Как составить учебный план на семейном обучении
  • Как найти неравенство не имеющее решений
  • Как найти представителей продукции
  • Как найти окпо на сайте росстата
  • Сало пожелтело как исправить