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

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

22.05.2010, 17:52. Показов 1809. Ответов 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
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
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
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,966
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
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru