В одномерном массиве, состоящем из n вещественных частей , вычислить номер
В одномерном массиве, состоящем из n вещественных частей , вычислить номер наибольшего элемента массива; творение частей массива расположенных меж первым и вторым нулевыми элементами.
Задать свой вопрос2 ответа
Boris Alvianskij
// PascalABC.NET 3.2, сборка 1492 от 03.07.2017
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-5,5).Select(m-gt;m/10).ToArray;
a.Println;
Writeln('Номер наибольшего элемента ',a.IndexMax+1);
var s:=a.IndexesOf(x-gt;x=0).Take(2);
if s.Countlt;2 then Writeln('Массив не содержит 2-ух нулей')
else if s.First+1=s.Last then Writeln('Нулевые элементы соседствуют')
else
Writeln('Творение элементов меж первой парой нулей ',
a[s.First+1:s.Last].Aggregate(1.0,(x,y)-gt;x*y))
end.
Пример
n= 15
0.1 -0.4 0 -0.3 0.1 0.2 0 -0.5 -0.5 0.2 -0.3 -0.3 0.5 0.4 0.5
Номер максимального элемента 13
Произведение элементов меж первой парой нулей -0.006
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-5,5).Select(m-gt;m/10).ToArray;
a.Println;
Writeln('Номер наибольшего элемента ',a.IndexMax+1);
var s:=a.IndexesOf(x-gt;x=0).Take(2);
if s.Countlt;2 then Writeln('Массив не содержит 2-ух нулей')
else if s.First+1=s.Last then Writeln('Нулевые элементы соседствуют')
else
Writeln('Творение элементов меж первой парой нулей ',
a[s.First+1:s.Last].Aggregate(1.0,(x,y)-gt;x*y))
end.
Пример
n= 15
0.1 -0.4 0 -0.3 0.1 0.2 0 -0.5 -0.5 0.2 -0.3 -0.3 0.5 0.4 0.5
Номер максимального элемента 13
Произведение элементов меж первой парой нулей -0.006
Анжелика Шелоумова
Sub Mass_Task()
'Заполнение массива
N = 20
Dim mas(20)
S = ""
Randomize
For i = 1 To N
mas(i) = Round(Rnd(100) * 100)
If mas(i) gt; 90 Then
mas(i) = 0
End If
S = S + Str(mas(i)) + ","
Next i
'Поиск номера наибольшего элемента
maxindex = 1 'предполагаем что максимальное число в первом элементе массива
'поиск номеров первого и следующего нулей
indF0 = -1: indL0 = -1
For i = 1 To N
If mas(i) gt; mas(maxindex) Then
maxindex = i
End If
If mas(i) = 0 Then
If indF0 = -1 Then
indF0 = i
Else
If indL0 = -1 Then
indL0 = i
End If
End If
End If
Next i
'вычисление творенья
multiplication = 1
If (indL0 = -1) Or (indF0 = -1) Or (indF0 + 1 = indL0) Then
MsgBox "Нулей либо чисел меж нулями нет"
Else
For i = indF0 + 1 To indL0 - 1
multiplication = multiplication * mas(i)
Next i
MsgBox "творенье чисел находящихся между первым и следующим нулями" + Str(multiplication)
End If
MsgBox "последовательность чисел " + S + " номер наибольшего элемента " + Str(maxindex)
End Sub
Sub test()
Mass_Task
End Sub
'-Пример--------------------------------------------------------------------
Произведение 3532800
Последовательность
6,58,83,12,84,87,34,68,16,17,0,60,40,64,23,0,0,49,58,42
Номер максимального элемента 6
'Заполнение массива
N = 20
Dim mas(20)
S = ""
Randomize
For i = 1 To N
mas(i) = Round(Rnd(100) * 100)
If mas(i) gt; 90 Then
mas(i) = 0
End If
S = S + Str(mas(i)) + ","
Next i
'Поиск номера наибольшего элемента
maxindex = 1 'предполагаем что максимальное число в первом элементе массива
'поиск номеров первого и следующего нулей
indF0 = -1: indL0 = -1
For i = 1 To N
If mas(i) gt; mas(maxindex) Then
maxindex = i
End If
If mas(i) = 0 Then
If indF0 = -1 Then
indF0 = i
Else
If indL0 = -1 Then
indL0 = i
End If
End If
End If
Next i
'вычисление творенья
multiplication = 1
If (indL0 = -1) Or (indF0 = -1) Or (indF0 + 1 = indL0) Then
MsgBox "Нулей либо чисел меж нулями нет"
Else
For i = indF0 + 1 To indL0 - 1
multiplication = multiplication * mas(i)
Next i
MsgBox "творенье чисел находящихся между первым и следующим нулями" + Str(multiplication)
End If
MsgBox "последовательность чисел " + S + " номер наибольшего элемента " + Str(maxindex)
End Sub
Sub test()
Mass_Task
End Sub
'-Пример--------------------------------------------------------------------
Произведение 3532800
Последовательность
6,58,83,12,84,87,34,68,16,17,0,60,40,64,23,0,0,49,58,42
Номер максимального элемента 6
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов