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

Напечатать числа, которые образуют убывающие последовательности

17.06.2012, 21:16. Показов 1257. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи!!
дан массив целых чисел А={ai}, где i={1,2,...n}. напечатать числа, которые образуют убывающие последовательности или "Таких чисел нет!".
например: если А={2,4,3,0,2,5,-2,0,5}, результат 4,3,0 и 5,0,-2
написать программу в visual basic.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2012, 21:16
Ответы с готовыми решениями:

Напечатать числа, которые образуют возрастающую последовательность
Дан массив целых чисел — а = { а1), где i = (1,2. П}. Напечатать числа, которые образуют возрастающую последовательность или “ Таких чисел...

Напечатать те числа из массива, которые образуют убывающие последовательности
Народ помогите пожалуйста, никак не могу разобраться с одной задачей. Напечатать те числа из массива, которые образуют убывающие...

Напечатать те числа из массива, которые образуют убывающие последовательности
Очень требуется помощь!!! Имеется массив А из N произвольных чисел А(N), среди которых есть положительные, отрицательные и равные...

12
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.06.2012, 15:14
Вот не самое рациональное, но рабочее решение:

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
Sub Task(A() As Integer)
      n1% = LBound(A, 1)
      n2% = UBound(A, 1)
      nBeg% = n1%
      Do
          If nBeg% >= n2% Then Exit Do
          nPrev% = nBeg%
          nCurr% = nBeg% + 1
          Do
              If A(nCurr%) < A(nPrev%) Then
                 nPrev% = nCurr%
                 nCurr% = nCurr% + 1
                 If nCurr% = n2% Then
                    If nPrev% - nBeg% > 1 Then
                       For i% = nBeg% To nPrev%
                           Debug.Print A(i%); " ";
                       Next i%
                       Debug.Print ""
                       c% = c% + 1
                       nBeg% = n2%
                       Exit Do
                     End If
                 End If
              Else
                 If nPrev% - nBeg% > 1 Then
                    For i% = nBeg% To nPrev%
                        Debug.Print A(i%); " ";
                    Next i%
                    Debug.Print ""
                    c% = c% + 1
                 End If
                 nBeg% = nCurr%
                 Exit Do
              End If
          Loop
      Loop
      If c% = 0 Then Debug.Print "Убывающих последовательностей нет!"
End Sub
1
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 7
18.06.2012, 18:32  [ТС]
спасибо большое!!)))
а n1 = LBound(A, 1) что означает?
n2 = UBound(A, 1)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.06.2012, 18:41
Lbound(A,1) - нижняя граница массива A по первой размерности;
Ubound(A,1) - верхняя граница массива A по первой размерности.
0
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 7
18.06.2012, 19:45  [ТС]
n1 = LBound(A, 1) тут ошибку выдает.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.06.2012, 19:48
Для запуска нужно ввести код:

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Sub Task(A() As Integer)
 
      n1% = LBound(A, 1)
      n2% = UBound(A, 1)
      
      nBeg% = n1%
      
      Do
         
          If nBeg% >= n2% Then Exit Do
          
          nPrev% = nBeg%
          nCurr% = nBeg% + 1
 
          Do
             
              If A(nCurr%) < A(nPrev%) Then
              
                 nPrev% = nCurr%
                 nCurr% = nCurr% + 1
              
                 If nCurr% = n2% Then
                    If nPrev% - nBeg% > 1 Then
                       For i% = nBeg% To nPrev%
                           Debug.Print A(i%); " ";
                       Next i%
                       Debug.Print ""
                       c% = c% + 1
                       nBeg% = n2%
                       Exit Do
                     End If
                 End If
              
              Else
                 
                 If nPrev% - nBeg% > 1 Then
                    For i% = nBeg% To nPrev%
                        Debug.Print A(i%); " ";
                    Next i%
                    Debug.Print ""
                    c% = c% + 1
                 End If
                 
                 nBeg% = nCurr%
                 Exit Do
                 
              End If
 
          Loop
 
      Loop
      
      If c% = 0 Then Debug.Print "Убывающих последовательностей нет!"
      
End Sub
 
Sub Test()
     
Dim A(1 To 10) As Integer
 
    A(1) = 1
    A(2) = 2
    A(3) = 10
    A(4) = 5
    A(5) = 4
    A(6) = 3
    A(7) = 7
    A(8) = 6
    A(9) = 5
    A(10) = 19
    
    Task A()
 
End Sub
и запустить процедуру Test.
0
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 7
18.06.2012, 20:04  [ТС]
когда я запускаю программу пишет "Убывающих последовательностей нет!"
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.06.2012, 20:09
Опубликуй проект - я посмотрю.
0
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 7
18.06.2012, 20:12  [ТС]
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
53
54
55
56
57
58
59
60
Option Explicit
Dim A(1 To 10) As Integer
Dim n1, n2, nBeg, nCurr, nPrev, c, i As Integer
Private Sub Command1_Click()
      n1 = LBound(A, 1)
      n2 = UBound(A, 1)
      nBeg = n1
      Do
          If nBeg >= n2 Then Exit Do
          nPrev = nBeg
          nCurr = nBeg + 1
          Do
              If A(nCurr) < A(nPrev) Then
                 nPrev = nCurr
                 nCurr = nCurr + 1
                 If nCurr = n2 Then
                    If nPrev - nBeg > 1 Then
                       For i = nBeg To nPrev
                          Print A(i); " ";
                       Next i
                       Print ""
                       c = c + 1
                       nBeg = n2
                       Exit Do
                     End If
                 End If
              Else
                 If nPrev - nBeg > 1 Then
                    For i = nBeg To nPrev
                        Print A(i); " ";
                    Next i
                    Print ""
                    c = c + 1
                 End If
                 nBeg = nCurr
                 Exit Do
              End If
          Loop
      Loop
      If c = 0 Then Print "Òàêèõ ÷èñåë íåò!"
End Sub
 
Sub Test()
     
Dim A(1 To 10) As Integer
 
    A(1) = 1
    A(2) = 2
    A(3) = 10
    A(4) = 5
    A(5) = 4
    A(6) = 3
    A(7) = 7
    A(8) = 6
    A(9) = 5
    A(10) = 19
    
    Task A()
 
End Sub
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.06.2012, 20:18
Нужно теги использовать, а то текст получается нечитабельным...

А по смыслу у тебя - каша. Нужно было сделать вот так:

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Private Sub Command1_Click()
 
   Dim A(1 To 10) As Integer
 
   A(1) = 1
   A(2) = 2
   A(3) = 10
   A(4) = 5
   A(5) = 4
   A(6) = 3
   A(7) = 7
   A(8) = 6
   A(9) = 5
   A(10) = 19
 
   Task A()
 
End Sub
 
Sub Task(A() As Integer)
 
      n1% = LBound(A, 1)
      n2% = UBound(A, 1)
      
      nBeg% = n1%
      
      Do
         
          If nBeg% >= n2% Then Exit Do
          
          nPrev% = nBeg%
          nCurr% = nBeg% + 1
 
          Do
             
              If A(nCurr%) < A(nPrev%) Then
              
                 nPrev% = nCurr%
                 nCurr% = nCurr% + 1
              
                 If nCurr% = n2% Then
                    If nPrev% - nBeg% > 1 Then
                       For i% = nBeg% To nPrev%
                           Debug.Print A(i%); " ";
                       Next i%
                       Debug.Print ""
                       c% = c% + 1
                       nBeg% = n2%
                       Exit Do
                     End If
                 End If
              
              Else
                 
                 If nPrev% - nBeg% > 1 Then
                    For i% = nBeg% To nPrev%
                        Debug.Print A(i%); " ";
                    Next i%
                    Debug.Print ""
                    c% = c% + 1
                 End If
                 
                 nBeg% = nCurr%
                 Exit Do
                 
              End If
 
          Loop
 
      Loop
      
      If c% = 0 Then Debug.Print "Убывающих последовательностей нет!"
      
End Sub
0
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 7
19.06.2012, 19:18  [ТС]
ааа ясно))
спасибо)))

Добавлено через 22 часа 53 минуты
Catstail, вы можете программный код из паскаля перевести в VBA?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
19.06.2012, 19:25
Могу. Но зачем?
0
0 / 0 / 0
Регистрация: 17.06.2012
Сообщений: 7
19.06.2012, 19:42  [ТС]
мне программу написали в паскале, а нужно в бейсике
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2012, 19:42
Помогаю со студенческими работами здесь

Напечатать числа из массива, которые образуют растущую последовательность
имеется массив А из N произвольных чисел, среди которых есть положительные, отрицательные и равне нулю. Напечатать числа из массива,...

Напечатать числа из массива, которые образуют растущую последовательность
Суть задачи Напечатать числа из массива которые образуют растущую последовательность. Например если А=(2,4,-3,4,2,-2,5), то результат...

Напечатать только те числа из массива, которые образуют растущую последовательность
Добрый вечер, уважаемые форумчане. Я очень надеюсь на вашу помощь. Нужно составить программы с использованием массивов. 1. Напечатать...

Напечатать только те числа из массива, которые образуют растущую последовательность
Напечатать только те числа из массива, которые образуют растущую последовательность. Массив выглядит так A={2,4,-3,4,2,-2,5}. Помогите...

Подсчитать количество участков, которые образуют непрерывные последовательности чисел
Я составил текст программы, но не могу написать отладку. Помогите пожалуйста написать отладку к программе. (очень нужно написать сегодня,...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru