Составить программу в pascal. вводится длина вектора и значения его элементов. 1. подсчитать количество элементов, равных заданному значению. 2. поменять местами максимальный и минимальный элементы вектора. 3. подсчитать количество отрицательных, положительных и нулевых элементов вектора.
nn = 50;{максимальное число элементов}
var
a: array[1..nn] of integer;
m, n, max, min, i, kn, kz, kp, kt, nmax, nmin, t: integer;
begin
Write('Задайте количество элементов в массиве (1-50): '); Readln(n);
Write('Введите значение для поиска: '); Readln(t);
Writeln('Введите элементы массива');
max := -32768; min := 32767; kn := 0; kz := 0; kp := 0; kt := 0;
for i := 1 to n do
begin
Read(m);
if max < m then begin max := m; nmax := i end
else if min > m then begin min := m; nmin := i end;
if m < 0 then Inc(kn)
else if m = 0 then Inc(kz) else Inc(kp);
if m = t then Inc(kt);
a[i] := m
end;
m := a[nmax]; a[nmax] := a[nmin]; a[nmin] := m;
Writeln('Результирующий массив');
for i := 1 to n do Write(a[i], ' ');
Writeln;
Writeln('Количество элементов, равных ', t, ': ', kt);
Writeln('Количество отрицательных элементов равно ', kn);
Writeln('Количество нулевых элементов равно ', kz);
Writeln('Количество положительных элементов равно ', kp)
end.
Тестовое решение:
Задайте количество элементов в массиве (1-50): 13
Введите значение для поиска: 7
Введите элементы массива
15 -6 11 0 7 0 18 -7 -3 -4 7 0 12
Результирующий массив
15 -6 11 0 7 0 -7 18 -3 -4 7 0 12
Количество элементов, равных 7: 2
Количество отрицательных элементов равно 4
Количество нулевых элементов равно 3
Количество положительных элементов равно 6