Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29

Расположить четные элементы последовательности в порядке возрастания

18.06.2012, 12:06. Показов 4499. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана случайная (0<x<1) последовательность х1,х2,.,х25. Требуется расположить четные элементы последовательности в порядке возрастания
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Sort()
Dim A(0 To 1) As Double
Randomize
 For i = 1 To 25
 A(i) = Rnd()
      n1 = LBound(A, 1)
      n2 = UBound(A, 1)
      For i = n1 To n2 - 1
           For j = n1 + 1 To n2
                If (i Mod 2) = 0 And (j Mod 2) = 0 And (A(i) > A(j)) Then
                   Tmp = A(i)
                   A(i) = A(j)
                   A(j) = Tmp
                End If
           Next j
      Next i
      MsgBox (A(1) & A(2) & A(3))
End Sub
не могу понять, что не так...помогите, кто знает!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2012, 12:06
Ответы с готовыми решениями:

Требуется расположить отрицательные элементы последовательности в порядке убывания
Дана последовательность х1 . х2 . ... . х50 . Требуется расположить отрицательные элементы последовательности в порядке убывания. Заранее...

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

В массиве четные элементы расположить в порядке возрастания их модулей
Очень прошу вашей помощи по массивам!!! буду очень благодарен! Дано одно задание, вкл. в себя 4 задачи, 2 на одномерные и 2 на двумерные...

20
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
18.06.2012, 12:26
четные элементы последовательности
можно понимать по-разному. Это либо элементы, у которых значение четное целое число, либо элементы, имеющие четные индексы (порядковые номера в последовательности). Уточните, от этого зависит, каким образом будет решена задача.
0
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29
18.06.2012, 12:29  [ТС]
элементы у которых четное значение
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
18.06.2012, 13:20
Пример сортирвки по возрастанию четных элементов последовательности.
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
Sub Sort()
    Dim A(1 To 25) As Integer
    Dim i As Integer, j As Integer, n1 As Integer, n2 As Integer, tmp As Integer, s As String
    
    Randomize
    
    For i = 1 To 25
        A(i) = Int(Rnd() * 100)
    Next
    
    n1 = LBound(A)
    n2 = UBound(A)
    For i = n1 To n2 - 1
        For j = i + 1 To n2
            If (A(i) Mod 2) = 0 And (A(j) Mod 2) = 0 And (A(i) > A(j)) Then
                tmp = A(i)
                A(i) = A(j)
                A(j) = tmp
            End If
        Next j
    Next i
    
    s = ""
    For i = n1 To n2
        s = s & A(i) & "; "
    Next
    
    MsgBox s
End Sub
Добавлено через 37 минут
Предыдущий пример, что я сделал, не соответствует условию задачи - сейчас заметил. Несложно переделать...

Добавлено через 5 минут
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
Sub Sort()
    Dim A(1 To 25) As Double, tmp As Double
    Dim i As Integer, j As Integer, n1 As Integer, n2 As Integer, s As String
    
    Randomize
    
    n1 = LBound(A)
    n2 = UBound(A)
    
    For i = 1 To 25
        A(i) = Rnd()
    Next
    
    For i = n1 To n2 - 1
        For j = i + 1 To n2
            If (i Mod 2) = 0 And (j Mod 2) = 0 And (A(i) > A(j)) Then
                tmp = A(i)
                A(i) = A(j)
                A(j) = tmp
            End If
        Next j
    Next i
    
    s = ""
    For i = n1 To n2
        s = s & Format(A(i), "0.0000") & "; "
    Next
    
    MsgBox s
End Sub
1
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29
18.06.2012, 14:32  [ТС]
тут получается он выводит только просто случайную последовательность...но не располагает их как задано по условию.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
18.06.2012, 14:38
Четность - свойство целых! А числа по условию меньше 1... Нестыковочка.

Если же считать числа целыми, то вот сортировка четных (по значению). Нечетные останутся на своих местах.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub SortEven(X() as integer)
      n1%=Lbound(X,1)
      n2%=Ubound(X,1)
      For i%=n1% to n2%-1
           For j%=i%+1 to n2%
                If (X(i%) mod 2)=0 And _
                   (X(j%) mod 2)=0 And _
                   (X(i%) > X(j%)) Then
                   tmp%=X(i%)
                   X(i%)=X(j%)
                   X(j%)=tmp%
                End if
            Next j%
      Next i%
End Sub
0
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29
18.06.2012, 14:54  [ТС]
mc-black, и в чем тогда суть этой задачи я не пойму...(((
0
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
18.06.2012, 16:01
По условию задачи в данной последовательности не может быть четных элементов, так что сортировку можно вообще не делать
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
18.06.2012, 16:04
Gibboustooth-у - Браво!
0
18.06.2012, 16:39

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
Gibboustooth-у - Браво!
С другой стороны, это прозрачно намекнет преподавателю, что он сам, мягко говоря, не очень умен, а его задания, мягко говоря, не очень хороши. Верный способ получить "уд." на экзамене. А также романтический образ борца с системой, славу и любовь прекрасных женщин.

0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
18.06.2012, 17:15
mc-black, и в чем тогда суть этой задачи я не пойму...(((
Суть задачи если и можно трактовать не так, как сформулировано в посте #8, то только так:

Дана случайная (0<x<1) последовательность действительных дробных чисел (которые по определению не могут быть чётными или нечетными) х1,х2,.,х25. Требуется расположить четные элементы элементы последовательности с четными индексами в порядке возрастания значений элементов.

Вот в этой формулировке я тебе решил задачу. См. второй исправленный вариант. 2-й, 4-й, 6-й и т.д. 24-й элементы перекручены таким образом, что каждый последующий больше предыдущего.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
18.06.2012, 17:49
Не думаю, что преподаватель это оценит...
0
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
18.06.2012, 19:06
Цитата Сообщение от Catstail Посмотреть сообщение
Не думаю, что преподаватель это оценит...
А я думаю, что имелись в виду именно элементы с четными индексами. Просто либо неправильно сформулировано, либо неправильно переписано автором.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
18.06.2012, 19:08
Похоже... Студенты даже задание запомнить и изложить толком не могут.
0
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29
18.06.2012, 22:40  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Похоже... Студенты даже задание запомнить и изложить толком не могут.
в том то и дело, что в задании написано именно так...

Добавлено через 4 минуты
Цитата Сообщение от mc-black Посмотреть сообщение
Суть задачи если и можно трактовать не так, как сформулировано в посте #8, то только так:

Дана случайная (0<x<1) последовательность действительных дробных чисел (которые по определению не могут быть чётными или нечетными) х1,х2,.,х25. Требуется расположить четные элементы элементы последовательности с четными индексами в порядке возрастания значений элементов.

Вот в этой формулировке я тебе решил задачу. См. второй исправленный вариант. 2-й, 4-й, 6-й и т.д. 24-й элементы перекручены таким образом, что каждый последующий больше предыдущего.
а можно сделать так, чтоб он изначально выдавал эти случайные элементы, а потом показывал только те, которые нужно....ну в данном случае тогда те, которые стоят на четных местах и в нужном порядке? т.е. 12 чисел я так понимаю должно быть!
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
19.06.2012, 09:12
а можно сделать так, чтоб он изначально выдавал эти случайные элементы, а потом показывал только те, которые нужно....ну в данном случае тогда те, которые стоят на четных местах и в нужном порядке? т.е. 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
Sub Sort()
    Dim A(1 To 25) As Integer
    Dim i As Integer, j As Integer, n1 As Integer, n2 As Integer, tmp As Integer, s As String
    
    Randomize
    
    For i = 1 To 25
        A(i) = Int(Rnd() * 100)
    Next
    
    n1 = LBound(A)
    n2 = UBound(A)
    For i = n1 To n2 - 1
        For j = i + 1 To n2
            If (A(i) Mod 2) = 0 And (A(j) Mod 2) = 0 And (A(i) > A(j)) Then
                tmp = A(i)
                A(i) = A(j)
                A(j) = tmp
            End If
        Next j
    Next i
    
    s = ""
    For i = 2 To n2 Step 2
        s = s & A(i) & "; "
    Next
    
    MsgBox "элементы с четным индексом после сортировки:" & s
End Sub
1
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29
19.06.2012, 09:21  [ТС]
mc-black, спасибо) а как мне сделать, чтоб сначала мне выдавал полностью все элементы, а потом после сортировки, но уже по возрастанию.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
19.06.2012, 11:47
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
Sub Sort()
    Dim A(1 To 25) As Integer, s As String, s1 as String, s2 as String
    Dim i As Integer, j As Integer, n1 As Integer, n2 As Integer, tmp As Integer
    
    Randomize
    
    For i = 1 To 25
        A(i) = Int(Rnd() * 100)
    Next
    
    s1 = ""
    For i = n1 To n2
        s1 = s1 & Format(A(i), "0.000") & "; "
    Next
    
    n1 = LBound(A)
    n2 = UBound(A)
    For i = n1 To n2 - 1
        For j = i + 1 To n2
            If (A(i) Mod 2) = 0 And (A(j) Mod 2) = 0 And (A(i) > A(j)) Then
                tmp = A(i)
                A(i) = A(j)
                A(j) = tmp
            End If
        Next j
    Next i
    
    s2 = ""
    For i = n1 To n2
        s2 = s2 & Format(A(i), "0.000") & "; "
    Next
    
    s = ""
    For i = 2 To n2 Step 2
        s = s & Format(A(i), "0.000") & "; "
    Next
    
    MsgBox "массив случайных элементов" & s1 & vbCrLf & _
        "массив, где элементы с четными индексами отсортированы" & s2 & _
        vbCrLf & "элементы с четным индексом (без нечетных):" & s
End Sub
1
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 29
19.06.2012, 12:03  [ТС]
mc-black, выдает ошибку 9 какую то(
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
19.06.2012, 12:34
Без ошибки 9
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
Sub Sort()
    Dim A(1 To 25) As Integer, s As String, s1 As String, s2 As String
    Dim i As Integer, j As Integer, n1 As Integer, n2 As Integer, tmp As Integer
    
    Randomize
    
    n1 = LBound(A)
    n2 = UBound(A)
    
    For i = n1 To n2
        A(i) = Int(Rnd() * 100)
    Next
    
    s1 = ""
    For i = n1 To n2
        s1 = s1 & Format(A(i), "0.000") & "; "
    Next
    
    For i = n1 To n2 - 1
        For j = i + 1 To n2
            If (A(i) Mod 2) = 0 And (A(j) Mod 2) = 0 And (A(i) > A(j)) Then
                tmp = A(i)
                A(i) = A(j)
                A(j) = tmp
            End If
        Next j
    Next i
    
    s2 = ""
    For i = n1 To n2
        s2 = s2 & Format(A(i), "0.000") & "; "
    Next
    
    s = ""
    For i = 2 To n2 Step 2
        s = s & Format(A(i), "0.000") & "; "
    Next
    
    MsgBox "массив случайных элементов" & s1 & vbCrLf & vbCrLf & _
        "массив, где элементы с четными индексами отсортированы" & s2 & _
        vbCrLf & vbCrLf & "элементы с четным индексом (без нечетных):" & s
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2012, 12:34
Помогаю со студенческими работами здесь

Блок-схема. В массиве четные элементы расположить в порядке возрастания их модулей.
Помогите пожайлуста с блок - схемами..... 1. В массиве четные элементы расположить в порядке возрастания их модулей 2. Все...

Расположить чётные числа массива в порядке возрастания, а нечётные в порядке убывания
Требуется расположить чётные числа в порядке возрастания, а не чётные в порядке убывания. Относительного расположения чисел не менять. С...

Расположить четные числа в порядке возрастания, стоящие на четных местах
&quot;Расположить четные числа в порядке возрастания, стоящие на четных местах.&quot; int a, n,k,i; n=0; for (int i=0; i&lt;20; ++i) { ...

Расположить элементы столбцов матрицы в порядке возрастания в четных столбцах, в порядке убывания - в нечетных
Расположить элементы столбцов матрица А(4,5) в порядке возрастания, если номера столбцов четные, в порядке убывания, если нечетные.

Расположить элементы первой половины одномерного массива в порядке возрастания, а второй - в порядке убывания
Нужно расположить элементы первой половины одномерного массива в порядке возрастания, а второй половины массива в порядке убывания. Данная...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru