-2 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 22
1

Найти номер первого отрицательного элемента массива

20.11.2014, 14:30. Показов 5687. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
массив из 10 элементов. найти номер первого отрицательного элемента. максимальный элемент. Помогите пожалуйста составить программу)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2014, 14:30
Ответы с готовыми решениями:

Найти номер первого отрицательного элемента массива
Заданный массив С (n). Найти номер m первого отрицательного элемента и умножить все m Элементы на...

Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента
Здравствуйте! Дали задачу в дополнение к РГЗ, а я практически не понимаю как ее делать...Помогите...

Для массива из 10 чисел найти номер первого элемента, большего 25
Для массива из 10 чисел найти номер первого элемента, большего 25.

Определить номер первого отрицательного xi и номер последнего отрицательного xi
Задан массив x1, x2, …, x15. Определить номер первого отрицательного xi и номер последнего ...

9
Surrogate
20.11.2014, 16:14
  #2

Не по теме:

ура задача века решена

Цитата Сообщение от evgeshaas Посмотреть сообщение
Массив из 10 элементов. Найти номер первого отрицательного элемента. Максимальный элемент. составить программу
вопрос задавался аж под 2 никами: evgeshaas, zhekonya

0
5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,107
Записей в блоге: 30
20.11.2014, 16:25 3
Цитата Сообщение от Аксима Посмотреть сообщение
Visual Basic
1
msg = msg & vbCr & "Максимальный элемент массива равен " & xMax & "."
"Первоклассники" перепутали*: чему равен - это одно, а вот на каком он месте (и нет ли у него дублей) и будет ответом на вопрос.

Действующий пример (там максимум массива меняется на минимум, и наоборот): Дан массив действительных чисел. Поменять местами наибольший и наименьший элементы заданного массива.

_____________
* либо упустили важное условие: предполагается, что такой элемент единственный
0
-2 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 22
24.11.2014, 15:56  [ТС] 4
Код от Аксима:

Visual Basic
1
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
Sub FindFirstNegAndMaxElems()
    Dim i As Long, iNeg As Long, xMax As Double, arr(1 To 10) As Double, msg As String
    'Ввод значений массива.
    For i = 1 To 10
        arr(i) = Val(Replace(InputBox("Введите " & i & " элемент массива:", _
                "Ввод значений массива"), ",", "."))
    Next i
    'Определение номера первого отрицательного элемента.
    For i = 1 To 10
        If arr(i) < 0 Then
            iNeg = i    'Запоминаем номер первого отрицательного элемента.
            Exit For    'При нахождении отрицательного элемента выходим из цикла,
        End If          'т.к. нас интересует только первый отрицательный элемент.
    Next i
    'Нахождение максимального элемента в массиве.
    xMax = arr(1) 'Берем в качестве максимального первый элемент массива.
    For i = 2 To 10
        If arr(i) > xMax Then   'Если найден элемент, больший максимального, то...
            xMax = arr(i)       'Принимаем его за максимальный.
        End If
    Next i
    'Вывод массива и дополнительной информации.
    msg = "Введенный массив:" & vbCr & vbCr
    msg = msg & arr(1)
    For i = 2 To 10
        msg = msg & vbTab & arr(i)
    Next i
    If iNeg > 0 Then
        msg = msg & vbCr & vbCr & "Первый отрицательный элемент массива находится под номером " & iNeg & "."
    Else
        msg = msg & vbCr & vbCr & "Отрицательных элементов в массиве нет."
    End If
    msg = msg & vbCr & "Максимальный элемент массива равен " & xMax & "."
    MsgBox msg
End Sub
Объясните пожалуйста как это вбить в форму и какие кнопки добавить? Если вбить так как здесь, то не работает(
0
5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,107
Записей в блоге: 30
26.11.2014, 18:58 5
Аксима дал вам отлаженный учебный код.

В задании форма не требуется! И кнопки тоже. Объясните, что вам нужно объяснить.
0
Surrogate
26.11.2014, 19:03
  #6

Не по теме:

Цитата Сообщение от antoshiktim Посмотреть сообщение
Объясните пожалуйста как это вбить в форму и какие кнопки добавить? Если вбить так как здесь, то не работает(
по ходу концепция поменялась… :cry:

0
5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,107
Записей в блоге: 30
27.11.2014, 06:31 7
Как вбить, не объясню, но вбил (это лишь ползадания, устал):
Вложения
Тип файла: doc maxDot(s).doc (75.0 Кб, 2 просмотров)
0
5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,107
Записей в блоге: 30
27.11.2014, 19:01 8
Цитата Сообщение от antoshiktim Посмотреть сообщение
Если вбить так как здесь...
Вбил. Работает:
Миниатюры
Найти номер первого отрицательного элемента массива  
Вложения
Тип файла: doc maxDot(s).doc (74.5 Кб, 3 просмотров)
0
5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,107
Записей в блоге: 30
28.11.2014, 00:05 9
Что ж, начнём ловить клопов. В моём варианте
Visual Basic
1
            If B(i) <= 0 Then .Font.ColorIndex = wdBlue
1-й знак равенства не нужен: B(i) < 0.

В варианте от первоклассников баг (мыслительный) закрался в само название.
Цитата Сообщение от Аксима Посмотреть сообщение
Visual Basic
1
Sub FindFirstNegAndMaxElems()
По сути же их код (который ищет максимальное число*), находит лишь последний такой элемент:

Sub Find_FirstNeg_And_LastMax_Elems()
___________________
* верно, но иногда не полно — так как нужно найти элемент (а это нечто большее: у него есть номер!)
0
5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,107
Записей в блоге: 30
15.11.2015, 15:35 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Перелицевал
Цитата Сообщение от antoshiktim Посмотреть сообщение
код от Аксима:
из темы antoshiktim’а:
Visual Basic
1
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
42
43
44
45
46
47
48
49
50
51
52
Sub FirstPosAndLastNeg_differ()
Const N = 5
    Dim i As Long, arr(1 To N) As Double, msg As String
    Dim iNeg As Long, iPos As Long 'индексы искомых элементов (равны пока 0)
    
    'Ввод значений массива (с преобразованием пропускаемых при вводе в 0).
    For i = 1 To N
        arr(i) = Val(Replace(InputBox("Введите " & i & "-й элемент массива:", _
                "Ввод значений массива"), ",", "."))
    Next i
    
    'Определение номера первого положительного элемента.
    For i = 1 To N
        If arr(i) > 0 Then
            iPos = i    'Запоминаем номер первого положительного элемента.
            Exit For    'При нахождении положительного элемента ВЫХОДИМ из цикла,
        End If          'т.к. нас интересует только первый положительный элемент.
    Next i
    
    'Определение номера последнего отрицательного элемента.
    For i = N To 1 Step -1
        If arr(i) < 0 Then
            iNeg = i    'Запоминаем номер последнего отрицательного элемента.
            Exit For    'При нахождении отрицательного элемента ВЫХОДИМ из цикла,
        End If          'т.к. нас интересует только последний отрицательный элемент.
    Next i
    
    'Вывод массива и дополнительной информации.
    msg = "Введенный массив:" & vbCr & vbCr
    msg = msg & arr(1)
    For i = 2 To N
        msg = msg & vbTab & arr(i)
    Next i
    
    If iPos > 0 Then
        msg = msg & vbCr & vbCr & "Первый положительный элемент массива находится под номером " & iPos & "."
    Else
        msg = msg & vbCr & vbCr & "Положительных элементов в массиве нет." & vbCr
    End If
    
    If iNeg > 0 Then
        msg = msg & vbCr & vbCr & "Последний отрицательный элемент массива находится под номером " & iNeg & "."
    Else
        msg = msg & vbCr & vbCr & "Отрицательных элементов в массиве нет." & vbCr
    End If
    
If iPos > 0 And iNeg > 0 Then   ' при наличии тех и других (иначе сообщать не о чем)
    msg = msg & vbCr & "Разность 1-го положительного и последнего отрицательного " & _
    "элемента равна " & arr(iPos) & " – (" & arr(iNeg) & ") = " & arr(iPos) - arr(iNeg) & "."
    MsgBox msg
End If
End Sub
Для энных (а не крайних) элементов см. у all_angarsk: Определить среднее арифметическое значение n-го отрицательного и последнего положительного элемента массива

Добавлено через 5 минут
Rnd убрал.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2015, 15:35
Помогаю со студенческими работами здесь

Дана последовательность из n чисел. Найти номер первого отрицательного, кратного 5 числа
Здравствуйте! Помогите составить код Дана последовательность из n чисел. Найти номер первого...

Найти разность первого положительного и последнего отрицательного элементов массива
В заданном векторе (одномерном массиве) найти: разность первого положительного и последнего...

Номер первого отрицательного чиста в последовательности
В последовательности sinx^n (n=1,2,…,30) найти номер первого отрицательного числа. Если такого не...

Вычислить сумму элементов, стоящих до первого отрицательного элемента
Уважаемые форумчане! Подскажите решение задач пожалуйста: 1) Дан массив, содержащий 14 элементов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru