Составить программу в PASCAL. Вводится длина вектора и значения его элементов. 1. Подсчитать количество элементов, равных заданному значению. 2. Поменять местами максимальный и минимальный элементы вектора. 3. Подсчитать количество отрицательных, положительных и нулевых элементов вектора.

21 Фев 2020 в 19:41
216 +1
0
Ответы
1

Программа:

program VectorOperations;
const
maxSize = 100;
var
vector: array[1..maxSize] of Integer;
n, i, count, maxValueIndex, minValueIndex, positiveCount, negativeCount, zeroCount: Integer;
valueToCount: Integer;
procedure ReadVector(var vector: array of Integer; var n: Integer);
var
i: Integer;
begin
WriteLn('Enter the length of the vector:');
ReadLn(n);
WriteLn('Enter the elements of the vector:');
for i := 1 to n do
begin
ReadLn(vector[i]);
end;
end;
function CountElementsWithValue(vector: array of Integer; n, value: Integer): Integer;
var
i, count: Integer;
begin
count := 0;
for i := 1 to n do
begin
if vector[i] = value then
begin
count := count + 1;
end;
end;
CountElementsWithValue := count;
end;
procedure SwapMaxAndMin(var vector: array of Integer; maxValueIndex, minValueIndex: Integer);
var
temp: Integer;
begin
temp := vector[maxValueIndex];
vector[maxValueIndex] := vector[minValueIndex];
vector[minValueIndex] := temp;
end;
procedure CountPositiveNegativeZero(vector: array of Integer; n: Integer; var positiveCount, negativeCount, zeroCount: Integer);
var
i: Integer;
begin
positiveCount := 0;
negativeCount := 0;
zeroCount := 0;
for i := 1 to n do
begin
if vector[i] > 0 then
positiveCount := positiveCount + 1
else if vector[i] < 0 then
negativeCount := negativeCount + 1
else
zeroCount := zeroCount + 1;
end;
end;
begin
ReadVector(vector, n);
WriteLn('Enter the value to count:');
ReadLn(valueToCount);
count := CountElementsWithValue(vector, n, valueToCount);
WriteLn('Number of elements equal to ', valueToCount, ': ', count);
maxValueIndex := 1;
minValueIndex := 1;
for i := 2 to n do
begin
if vector[i] > vector[maxValueIndex] then
maxValueIndex := i
else if vector[i] < vector[minValueIndex] then
minValueIndex := i;
end;
SwapMaxAndMin(vector, maxValueIndex, minValueIndex);
CountPositiveNegativeZero(vector, n, positiveCount, negativeCount, zeroCount);
WriteLn('Number of positive elements: ', positiveCount);
WriteLn('Number of negative elements: ', negativeCount);
WriteLn('Number of zero elements: ', zeroCount);
end.

Эта программа сначала считывает длину вектора и его элементы, затем запрашивает значение, количество элементов которого нужно подсчитать. После этого программа находит количество элементов в векторе, равных заданному значению. Затем находит максимальный и минимальный элементы вектора, меняет их местами и выводит новый вектор. Наконец, программа подсчитывает количество положительных, отрицательных и нулевых элементов в векторе и выводит результаты.

18 Апр 2024 в 16:57
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир