Хелпикс

Главная

Контакты

Случайная статья





Пример №4



Пример №4

 

Задан массив Z(12) из двенадцати элементов. Определить количество элементов, меньших среднего арифметического всего ряда. Если таких элементов более пяти, то поменять местами Z[1] и Z[12].

 

Исходный массив: 5  7 12 3 10 8 9 5 23 14 34 25

Индексы:          1 2 3  4 5 6 7 8 9 10 11 12

S – сумма элементов массива

SR – среднее арифметическое всего массива

N – количество элементов меньших среднего арифметического

S=155 SR=12,9 N=8 (5,7,12,3,10,8,9,5)

P – дополнительная переменная для замены первого и последнего элементов

I – переменная цикла

 

 

PROGRRAM VAR27;

VAR Z:ARRAY[1..12] OF REAL;

     S,SR,P:REAL;

      N,I: BYTE;

BEGIN

      WRITELN(‘Ввод массива Z’);

       FOR I:=1 TO 12 DO

        READ(Z[I]);

       S:=0;

        FOR I:=1 TO 12 DO

        S:=S+Z[I];

        SR:=S/12;

         N:=0;

         FOR I:=1 TO 12 DO

         IF Z[I]<SR THEN N:=N+1;

         IF N>5 THEN BEGIN P:=Z[1];

                                                  Z[1]:=Z[12];

                                                  Z[12]:=P;

                                      END;

         WRITELN(‘SR=’,SR:8:3,’N=’,N:2);

         WRITELN(‘Новый массив Z’);

          FOR I:=1 TO 12 DO

          WRITELN(‘Z[‘, I ,’]=’,  Z[I]:8:3);

          END.  

 

   Пример №5

 

Задан массив F(14) из четырнадцати элементов. Построить новый массив, содержащий только отрицательные F(I). Вычислить сумму элементов этого массива. Найти FMIN.

 

Исходный массив F:-6 8 -3 -5 9 -23 4 -2 6 -8 45 -34 56  -45

Индексы массива: 1 2 3 4 5 6 7 8 9 10 11 12 13 14   

Новый массив G:  -6 -3 -5 -23 -2  -8 -34 -45

S – сумма отрицательных элементов массива F

S=-126 FMIN=-45

I – переменная цикла

K – индекс массива G, содержащий только отрицательные элементы массива F

 

PROGRAM VAR29;

VAR F,G:ARRAY[1..14] OF REAL;

      K,I:BYTE;

      S,FMIN:REAL;

      BEGIN

                  WRITELN(‘Ввод массива F’);

                   FOR I:=1 TO 14 DO

                   READ(F[I]);

                   K:=0;

                    FOR I:=1 TO 14 DO

                    IF F[I]<0 THEN BEGIN K:=K+1; G[K]:=F[I];  

                                          END;

                    S:=0;

                     FOR I:=1 TO K DO

                     S:=S+G[I];

                     FMIN:=F[1];

                     FOR I:=1 TO 14 DO

                     IF FMIN>F[I] THEN FMIN:=F[I];

                    WRITELN(‘ Массив G’);

                      FOR I:=1 TO K DO

                      WRITELN(G[I]:8:3);

                      WRITELN(‘S=’,S:8:3, ‘FMIN=’,FMIN:9:3);

      END.    

            



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.