ДБ
Денис Бетономешалка

Помогите плз с задачей (на паскале) !

Только подробно... В одномерном массиве произвольных чисел A(10) положительные элементы уменьшить вдвое, а отрицательные заменить на значения их индексов. И объясните ..

Александр
Александр

program prj1;
const N = 10;
var i: integer;
arr: array[1..N] of integer;
begin
randomize;
for i:=1 to N do
arr[ i ]:=random(10) - 5; {Заполняем массив числами (положительными и отрицательными) }
for i:=1 to N do
begin
if arr[ i ] > 0 then arr[ i ]:=arr[ i ] div 2; {если i-ый элемент больше нуля, то соответсвенно он положительный, и данному элементу присваиваем предыдущее значение деленное 2 без остатка}
if arr[ i ] < 0 then arr[ i ]:=i; {если больше нуля, то присваиваем ей ее индекс, а ее индекс это номер итерации кицла, тоесть значение переменной i}
end;
readln;
end;

Если что не понятно пишите.

Саня
Саня

var a:array[1..10] of real; {Описываем массив а, тип реал так как его элементы деляться на 2, а это только можно с вещ. типами}
i:integer;{в этой переменной хранятся номера элементов массива, целый тип так как номер не может быть дробным}
begin {команда начала программы}
randomize; {пишем, чтобы числа, занесенный рандомом в массив, были разные}
for i:=1 to 10 do begin {Пока номер эелемента больше 1 и меньше 10 делай}
a[ i ]:=random(100)-50; {Заполняем массив числами}
if a[ i ]>0 then a[ i ]:=a/2; {Проверяем, если больше 0, то делим на 2}
if a[ i ]<0 then a[ i ]:=i; {Если меньше нуля то элементу массива присваеваем его номер}
writeln('a[',i,']= ',a:0:0); {Выводим полученный массив}
end; {конец цикла}
end. {конец программмы}

{ }-описания для тебя.
Если что-то непонятно, то разъясню еще раз. Программа проверена и работает.

Похожие вопросы
Помогите составить задачи в паскале!!
помогите плз по паскалю
Помогите плз с задачей по программированию на Паскале
помогите плз, не могу понять что я не так сделал (задача в паскале)
помогите пожалуйста решить задачи в паскале
ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ! В турбо паскале!
Помогите плз (задача в паскале). Получить, десятичную дробь до третьего знака без округления.
помогите плз решить задачу по фри паскаль
Паскаль задача
Помогите решить, задачи в паскале