С помощью Паскаля: 1.Заполните массив случайными числами в интервале [0;100] и...

0 голосов
53 просмотров

С помощью Паскаля:
1.Заполните массив случайными числами в интервале [0;100] и подсчитайте отдельно среднее значение всех элементов,которые меньше 50, и среднее значение всех элементов,которые больше или равны 50.
2.Заполнить массив случайными числами в интервале [0;5]. Определить, есть ли в нем элементы с одинаковыми значениями,стоящие рядом.
3. Заполнить массив случайными числами и выполнить реверс отдельно в первой половине и во второй половине.


Информатика (80 баллов) | 53 просмотров
0

Что вы понимаете под реверсом и какая половина? по количество или по значению?

0

реверс массива: for i:=1 to N div 2 do c:=A[i];

0

реверс массива: for i:=1 to N div 2 do c:=A[i]; A[i]:=A[N+1-i];

0

а половины,это то есть массив: 1 2 3 4 5 6 а теперь поменяем местами по половине: 3 2 1 6 5 4

Дан 1 ответ
0 голосов
Правильный ответ

1)
var
    a1, a2, b1, b2, c, i, n: integer;
    s: array [1..100] of integer;

begin
    read(n);
    for i := 1 to n do
    begin
        s[i] := random(100);
        if s[i] < 50 then
        begin
            a1 := a1 + s[i];
            a2 := a2 + 1;
        end;
        if s[i] >= 50 then
        begin
            b1 := b1 + s[i];
            b2 := b2 + 1;
        end;
        
    end;
    writeln(a1 / a2:0:3, ' ', b1 / b2:0:3);
end.

2)
var
    i, n: integer;
    f: boolean;
    s: array [1..100] of integer;

begin
    read(n);
    for i := 1 to n do
        s[i] := random(5);
    
    f := false;
    for i := 1 to n - 1 do
        f := f or (s[i] = s[i + 1]);
    
    writeln(f);
end.

3)
var
    k, t,  i, n: integer;
    s: array [1..100] of integer;

begin
    read(n);
    for i := 1 to n do
        s[i] := random(99);
//    Println(s);    
        
    k := n div 2;
    for i := 1 to k div 2 do
    begin
        t := s[i];
        s[i] := s[k + 1 - i];
        s[k + 1 - i] := t;
        
        t := s[i+k];
        s[i+k] := s[n + 1 - i];
        s[n + 1 - i] := t;
    end;
    
//    Println(s);
    for i := 1 to n do
        write(s[i], ' ');
end.

(55.0k баллов)