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

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

Ответ:
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.



Привет! Вот пример программы на языке Pascal ABC, которая выполняет описанную задачу:
pascalprogram 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. Затем мы выводим обновленные значения элементов массива на экран.
Надеюсь, это поможет! Если у вас возникнут ещё вопросы, не стесняйтесь задавать.


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







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