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

21 Фев 2020 в 19:41
168 +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 Апр в 16:57
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 061 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир