Вопрос задан 16.07.2023 в 21:18. Предмет Информатика. Спрашивает Иванников Дмитрий.

Pascal ABC Дан одномерный массив вещественных чисел X(N), составить программу, которая бы все

элементы массива Х, начиная с первого положительного элемента, разделила на два, остальные элементы увеличила на два. Элементы массива ввести с клавиатуры.(змск)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бурмистрова Дарья.

Ответ:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

uses crt;

const nmax=100;

type mas=array[1..nmax] of real;

var n:byte;

procedure vvod(var a:mas;c:char);

var i:byte;

begin

writeln('Исходный массив ',c);

for i:=1 to n do

begin

a[i]:=-5+15*random;

write(a[i]:5:1)

end;

writeln

end;

procedure poloz(var a:mas;k:real;c:char);

var i:byte;

begin

writeln('Измененный массив ',c);

for i:=1 to n do

begin

if a[i]>0 then a[i]:=a[i]+k;

write(a[i]:5:1)

end;

writeln

end;

var a,b:mas;

k:real;

begin

randomize;

repeat

write('Размер массивов от 2 до ',nmax,' n=');

readln(n);

until n in [2..nmax];

write('Введите число для изменения положительных k=');

readln(k);

vvod(a,'A');

poloz(a,-k,'A');

vvod(b,'B');

poloz(b,k,'B');

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Вот пример программы на языке Pascal ABC, которая выполняет описанную задачу:

pascal
program DivideAndIncrease; const N = 10; // Задайте желаемый размер массива var X: array[1..N] of real; i, firstPositive: integer; begin firstPositive := 0; // Ввод элементов массива с клавиатуры writeln('Введите элементы массива:'); for i := 1 to N do begin write('X[', i, '] = '); readln(X[i]); // Найдем индекс первого положительного элемента if (firstPositive = 0) and (X[i] > 0) then firstPositive := i; end; // Если положительный элемент не найден, выводим сообщение if firstPositive = 0 then begin writeln('В массиве нет положительных элементов.'); readln; exit; end; // Разделяем элементы массива начиная с первого положительного на 2, // увеличиваем остальные элементы на 2 for i := firstPositive to N do X[i] := X[i] / 2; for i := 1 to N do begin if i >= firstPositive then writeln('X[', i, '] (после деления на 2): ', X[i]) else writeln('X[', i, '] (после увеличения на 2): ', X[i] + 2); end; readln; end.

В этой программе мы сначала заполняем массив X с помощью ввода значений с клавиатуры. Затем мы находим индекс первого положительного элемента в массиве. Если положительный элемент не найден, программа выводит сообщение об этом и завершается.

Если положительный элемент найден, мы разделяем все элементы массива X, начиная с первого положительного элемента, на 2, и увеличиваем остальные элементы на 2. Затем мы выводим обновленные значения элементов массива на экран.

Надеюсь, это поможет! Если у вас возникнут ещё вопросы, не стесняйтесь задавать.

0 0

Похожие вопросы

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

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

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