Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2013, 12:30   #1
grishkagrigoriev
Новичок
Джуниор
 
Регистрация: 01.06.2013
Сообщений: 6
По умолчанию Задача с кличками собак

Всем привет!

Есть массив A - с кличками собак.
Есть массив B - с очками, полученными каждой из собак на конкурсе.

Очки некоторых собак записываются с минусом.

Есть массивы C, D.
В эти массивы нужно вывести клички собак и их очки c такой сортировкой, чтобы сначала выходили собаки с положительными очками, а затем - с отрицательными.

Примерно так:

Дог Хантер Стенли Джордж Мигало Стаббер
20 25 -9 12 -8 14

После:
Дог Хантер Джордж Стаббер Стенли Мигало
20 25 12 14 -9 -8

Все данные заводятся в текстбоксы.

Должно получиться что-то типа такого:

Безымянный.jpg

Мой код:

Код:
Dim a(5), b(5), i, z As Integer, d(5), c(5) As String
        a(1) = TextBox6.Text
        a(2) = TextBox7.Text
        a(3) = TextBox8.Text
        a(4) = TextBox9.Text
        a(5) = TextBox10.Text
        c(1) = TextBox1.Text
        c(2) = TextBox2.Text
        c(3) = TextBox3.Text
        c(4) = TextBox4.Text
        c(5) = TextBox5.Text
        For i = 1 To 5
            For j = 1 To 4
                If a(j) < a(j + 1) Then
                    z = a(j)
                    a(j) = a(j + 1)
                    a(j + 1) = z
                End If
            Next j
        Next i
        For i = 1 To 5
            TextBox15.Text = a(1)
            TextBox14.Text = a(2)
            TextBox13.Text = a(3)
            TextBox12.Text = a(4)
            TextBox11.Text = a(5)
        Next
        TextBox20.Text = c(1)
        TextBox19.Text = c(2)
        TextBox18.Text = c(3)
        TextBox17.Text = c(4)
        TextBox16.Text = c(5)
    End Sub
Данный код правильно сортирует очки собак, но клички пишет в том же порядке, что и в массиве А.

Помогите!
grishkagrigoriev вне форума Ответить с цитированием
Старый 02.06.2013, 13:27   #2
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

grishkagrigoriev, сортируйте ещё и массив "B": сделайте две переменные "z_1" и "z_2". Одну переменную используйте для массива "A", а вторую для массива "B". Массив "B" сортируйте, когда возникает необходимость в сортировке массива "A", т.е. здесь:
Код:
    If a(j) < a(j + 1) Then
        Z = a(j)
        a(j) = a(j + 1)
        a(j + 1) = Z
    End If
Скрипт вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на зачёт. проблема Задача на нобелевскую премию! Sabotage5 Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2013 15:18
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC kimberly Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 17:03
задача на структуру(struct)/задача на работу с файлом SevenArth Помощь студентам 0 26.04.2012 19:06
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51