Другие языки программирования и технологии

2_Как решить это задание на VBA или паскале???

В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Номер минимального элемента массива. 2. Сумму элементов массива, расположенных между первым и вторым отрицательными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает единицу, а потом — все остальные.
program aaa;
Var a, b:array[1..100] of real; {исходный массив}
min, s:real;
j,k,k1, k2, n:integer;
begin
writeln('Введите размерность массива ');
readln(n);
writeln('Введите элементы массива ');
for j:=1 to n do
readln(a[j]);
writeln('Исходный массив ');
for j:=1 to n do
write( a[j],' ');
writeln;
min:=a[1]; k:=1;
for j:=2 to n do
if a[j] < min then begin min:=a[j]; k:=j end;
writeln('Минимальный элемент массива= ', min);
writeln('Номер минимального элемента= ', k);
for j:=1 to n do
if a[j] < 0 then begin k1:=j; j:=n+1 end; {номер первого отрицательного элемента}
for j:=k1+1 to n do
if a[j] < 0 then begin k2:=j; j:=n+1 end; {номер второго отрицательного элемента}
for j:=k1+1 to k2-1 do
s:=s+a[j];
writeln('Сумма элементов массива, расположенных между первым и вторым отрицательными элементами= ', s);
{преобразовываем массив}
k:=0;
for j:=1 to n do
if abs(a[j]) < 1 then begin k:=k+1; b[k]:=a[j]; end;
for j:=1 to n do
if abs(a[j]) >= 1 then begin k:=k+1; b[k]:=a[j]; end;
writeln('Преобразованный массив ');
for j:=1 to n do
write( b[j],' ');
end.
АИ
Антон Иванов
56 353
Лучший ответ
'VB6
'На первый вопрос (без сортировок в массиве)
'Второй вопрос аналогично циклы и конструкции с решениями

Dim index As Integer 'здесь будет индекс массива с минимальным значением
Dim value As Integer 'само значение элемента массива для сравнения

value = arr1(0)

'перебераем массив циклом от первого до последнего элемента
For j = 0 To 10

'сравниваем элемент с предидущим, и если предидущий больше записываем новый индекс
'элемента мвссива (соответственно с меньшим значение на данном этапи цикла For Next)
If value > arr1(j) Then
index = j
End If
'значение элемента массива с индексом j для сравнения
value = arr1(j)
Next j
Print index
Виктор Мурашов
Виктор Мурашов
10 624
с массивами безусловно паскаль