Вопрос задан 10.01.2020 в 22:07. Предмет Информатика. Спрашивает Стафинцова Маша.

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

отрицательными?
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Попова Валерия.
Const n=10; 
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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача на массив в 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`. Затем мы проходимся по массиву и находим индексы первого и последнего отрицательных элементов. Если оба индекса найдены, мы вычисляем количество элементов между ними и выводим результат.

Примечание: В приведенном выше примере мы предполагаем, что в массиве есть хотя бы два отрицательных элемента. Если в массиве нет отрицательных элементов или есть только один отрицательный элемент, программа выведет сообщение "Отрицательные элементы не найдены."

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос