С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 3

В массиве подсчитать сумму элементов, расположенных между первым отрицательным и последним положительным

22.05.2010, 17:52. Показов 1753. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задали написать небольшую программку, вроде все сделал но почему то ругается, может я что то не так написал, если можно сделать по другому буду очень рад за помощь, ниже код и текст задания.

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
Dim MAS() As Long
 Dim N As Integer
  ReDim MAS(1 To N) As Long
 For I = 1 To N
  MAS(I) = InputBox(“MAS(“ + Str(I) + ”) = ”)
 Next I
 
 Dim max_pos As Integer
 Dim min_pos As Integer
 Dim summ As Integer
 
 For I = 1 To N
  If MAS(I) < 0 Then ' если отрицательный элемент
   If min_pos = 0 Then ' если это первый попавшийся отр. элемент
    min_pos = I ' запишем его позицию
   End If
  End If
 Next I
 For I = N To 1 Step -1
  If MAS(I) > 0 Then ' если элемент положительный
   If max_pos Then ' если это первый попавшийся пол. элемент
    max_pos = I ' Записать его позицию
   End If
  End If
 Next I
 
 For I = min_pos To max_pos
  summ = summ + MAS(I)
Вот задание: В массиве из M чисел подсчитать сумму элементов, расположенных между первым отрицательным и последним положительным.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2010, 17:52
Ответы с готовыми решениями:

Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами
В одномерном массиве, состоящем из 20 элементов целого типа (значения элементов массива задать случайными числами из интервала ),...

Сумма элементов матрицы, расположенных между первым и последним нулевым элементом
Сумма элементов массива, расположенных между первым и последним нулевым элементом sum = 0 For i = 1 To n For j = 1 To...

Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
нужно написать программу к этой задаче: В одномерном массиве, состоящем из 20 вещественных элементов (значения элементов массива ...

8
 Аватар для Toxa33rus
3917 / 918 / 125
Регистрация: 16.04.2009
Сообщений: 1,944
22.05.2010, 23:55
Вообще-то по условию чисел в массиве M, а не N. Ну да ладно.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 For I = 1 To N
  If MAS(I) < 0 Then ' если отрицательный элемент
    min_pos = I ' запишем его позицию
    exit for
  End If
 Next I
 
 For I = N To 1 Step -1
  If MAS(I) > 0 Then ' если элемент положительный
    max_pos = I ' Записать его позицию
    exit for
  End If
 Next I
 
summ=0
for i=min_pos+1 to max_pos-1
  summ=summ+MAS(i)
next i
msgbox summ
1
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 3
23.05.2010, 10:37  [ТС]
что то не работает((( либо ошибку выдает либо просто выводит 0 и все(((
0
 Аватар для Toxa33rus
3917 / 918 / 125
Регистрация: 16.04.2009
Сообщений: 1,944
23.05.2010, 11:24
Все работает. Начало из своего кода возмите (где заполнение массива).
Только вот ошибочка:
Visual Basic
1
for i=min_pos+1 to max_pos-1
заменить на:
Visual Basic
1
for i=min_pos+1 to max_pos
1
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 3
23.05.2010, 12:02  [ТС]
я жутко извеняюсь(((( у меня опять не получается, взял заполнение массива свое а потом то что вы написали, у меня не получается((((( могли бы полный код написать((((
0
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 8
28.12.2011, 00:21
У меня похожая задача, и тоже постоянно 0 выскакивает, хотя если посчитать самой, то должно стоять число.

Добавлено через 12 минут
вобщем я оставила вариант до замены
Visual Basic
1
for i=min_pos+1 to max_pos-1
Так как так и не поняла, почему здесь ошибка
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.12.2011, 00:25
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
Option Explicit
 
Private Sub Command1_Click()
Dim MAS() As Long
 Dim N As Integer
 Dim i As Integer
 N = InputBox(" Введите размер массива")
  ReDim MAS(1 To N) As Long
 For i = 1 To N
  MAS(i) = InputBox("MAS(" + Str(i) + ") = ")
 Next i
 
 Dim max_pos As Integer
 Dim min_pos As Integer
 Dim summ As Integer
 
 For i = 1 To N
  If MAS(i) < 0 Then ' если отрицательный элемент
    min_pos = i ' запишем его позицию
    Exit For
  End If
 Next i
 
 For i = N To 1 Step -1
  If MAS(i) > 0 Then ' если элемент положительный
    max_pos = i ' Записать его позицию
    Exit For
  End If
 Next i
 
summ = 0
For i = min_pos + 1 To max_pos
  summ = summ + MAS(i)
Next i
MsgBox summ
End Sub
rinasha, теме полтора года.
1
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 8
28.12.2011, 01:08
SoftIce.net, я даже не заметила, что это было так давно) в поиске все равно находится нужная задача независимо от времени
Проверила 2 раза, и если написать в конце For i = min_pos + 1 To max_pos, то сумма посчитается, включая первый положительный элемент, а его не нужно включать, поэтому я была за такую запись
for i=min_pos+1 to max_pos-1
Что касается ошибки программы, то она устранилась, когда я скопировала ваш код, видимо, я от себя что-то приписала(

Добавлено через 17 минут
Это один из вариантов, поход от первого отрицательного к первому положительному
пример: 1 -2 -3 4 искомая сумма будет -3 Это верно
а вот если сделать наоборот, 1 2 -3 -4 , то виби уже не считает искомую сумму, а ставит 0. Теперь как посчитать сумму от первого отрицательного к первому положительному?
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.12.2011, 08:00
В 18 и 25 строке поменять знаки < > на противоположные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.12.2011, 08:00
Помогаю со студенческими работами здесь

Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
помогите написать программу: В одномерном массиве, состоящем из 20 вещественных элементов (значения элементов массива задать...

Нахождение суммы эллементов, следующих за первым положительным в одномерном массиве
Пытаюсь понять как реализовать это на на VB, ничего пока не выходит =\ Была куча различных вариантов, но ни один не хочет правильно...

Вычислить сумму элементов массива, расположенных между первым и последним положительным элементами
дан массив, состоящий N целых элементов. Вычислить сумму элементов массива, расположенных между первым и последним положительным...

Найти минимальный элемент массива и сумму элементов, расположенных между первым и последним положительным
Помогите пожалуйста, не выходит каменная чаша.... В одномерном массиве, состоящем из n вещественных элементов, вы-числить: 1)...

Вычислить минимум и сумму элементов массива, расположенных между первым и последним положительным элементами
В одномерном массиве, состоящем из п вещественных элементов, вычислить: - минимальный элемент массива; - сумму элементов массива,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru