
Буду благодарна! Нужно составить задачу на массив(паскаль): Сколько элементов между крайними
отрицательными?

Ответы на вопрос

var a:array[1..n] of integer;
i,k1,k2:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i],' ');
end;
writeln;
k1:=n;
while (k1>0)and(a[k1]>=0) do k1:=k1-1;
k2:=k1-1;
while (k2>0)and(a[k2]>=0) do k2:=k2-1;
if (k1<>0)and(k2<>0)
then writeln(k1-k2-1) else writeln('В массиве нет 2 отрицательных элементов');
end.
Пример:
Исходный массив:
9 0 2 7 -6 9 2 3 -4 10
3



Задача на массив в Pascal: Сколько элементов между крайними отрицательными?
Для решения данной задачи на массив в Pascal, мы можем использовать следующий алгоритм:
1. Создайте массив чисел и заполните его значениями. 2. Инициализируйте переменные `firstNegativeIndex` и `lastNegativeIndex` значением `-1`. Эти переменные будут использоваться для хранения индексов первого и последнего отрицательных элементов массива. 3. Пройдитесь по массиву и найдите индексы первого и последнего отрицательных элементов. Если найден отрицательный элемент и `firstNegativeIndex` все еще равен `-1`, присвойте `firstNegativeIndex` текущий индекс. Если найден отрицательный элемент и `firstNegativeIndex` уже не равен `-1`, присвойте `lastNegativeIndex` текущий индекс. 4. Проверьте значения `firstNegativeIndex` и `lastNegativeIndex`. Если оба значения не равны `-1`, вычислите количество элементов между ними, используя формулу `lastNegativeIndex - firstNegativeIndex - 1`. 5. Выведите результат.
Вот пример кода на Pascal, решающего данную задачу:
```pascal program CountElementsBetweenNegatives;
const arraySize = 10; // размер массива
var numbers: array[1..arraySize] of integer; // массив чисел firstNegativeIndex, lastNegativeIndex, i: integer; // переменные для хранения индексов
begin // Заполнение массива значениями numbers[1] := 3; numbers[2] := -5; numbers[3] := 2; numbers[4] := -7; numbers[5] := 1; numbers[6] := -9; numbers[7] := 4; numbers[8] := 6; numbers[9] := -2; numbers[10] := 8;
// Инициализация переменных firstNegativeIndex := -1; lastNegativeIndex := -1;
// Поиск индексов первого и последнего отрицательных элементов for i := 1 to arraySize do begin if numbers[i] < 0 then begin if firstNegativeIndex = -1 then firstNegativeIndex := i else lastNegativeIndex := i; end; end;
// Проверка значений индексов и вывод результата if (firstNegativeIndex <> -1) and (lastNegativeIndex <> -1) then writeln('Количество элементов между крайними отрицательными: ', lastNegativeIndex - firstNegativeIndex - 1) else writeln('Отрицательные элементы не найдены.');
readln; end. ```
В данном примере мы создаем массив `numbers` размером 10 и заполняем его значениями. Затем мы инициализируем переменные `firstNegativeIndex` и `lastNegativeIndex` значением `-1`. Затем мы проходимся по массиву и находим индексы первого и последнего отрицательных элементов. Если оба индекса найдены, мы вычисляем количество элементов между ними и выводим результат.
Примечание: В приведенном выше примере мы предполагаем, что в массиве есть хотя бы два отрицательных элемента. Если в массиве нет отрицательных элементов или есть только один отрицательный элемент, программа выведет сообщение "Отрицательные элементы не найдены."


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili