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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2009, 21:15   #1
kloyn91
 
Регистрация: 27.09.2009
Сообщений: 9
Печаль Есть ли одинаковые числа!

Уважаемые программисты!!!ни как не могу понять как решать задачи с одномерным и двумерными массивами! нужно написать программы:
1.Выяснить, есть ли одинаковые числа в одномерном массиве.
2.Выяснить, есть ли одинаковые числа в двумерном массиве.

Если не трудно напишите пожалуйста!

Последний раз редактировалось kloyn91; 28.10.2009 в 22:11.
kloyn91 вне форума Ответить с цитированием
Старый 28.10.2009, 22:05   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

kloyn91

Вам надо обращатся в Помощь студентам по таким вопросам.
Алгоритм могу описать.
Двухмерный массив преобразовать в одномерный.
Потом,например отсортировать по возростанию
Далее за один проход определить повторяющиеся значения.

Сортировка методом "Пузырька"
Код:
Public Function Пузырек(ByVal Arr() As Double, ByVal N As Long)

        Dim aI As Integer

        Dim I As Integer
        Dim J As Long

        Dim Tmp As Double

        For I = 0 To N - 1 Step 1
            For J = 0 To N - I - 1 Step 1

                aI = Tmp

                If Arr(J) > Arr(J + 1) Then
                    Tmp = Arr(J)
                    Arr(J) = Arr(J + 1)
                    Arr(J + 1) = Tmp

                End If

            Next J

        Next I

    End Function
Вам в этом помогут Яндекс и google
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 28.10.2009 в 22:20.
doober вне форума Ответить с цитированием
Старый 29.10.2009, 05:14   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Выяснить, есть ли одинаковые числа...
Если только выяснить, то можно проще. Например (для 1-й размерности), так:
Код:
Function Дубликат(ByVal arr As Variant) As Boolean
    Dim i As Long, x As New Collection
    Дубликат = False: On Error Resume Next
    For i = LBound(arr, 1) To UBound(arr, 1)
        x.Add arr(i, 1), CStr(arr(i, 1))
        If Err <> 0 Then
            Дубликат = True: Exit For
    End If: Next: Set x = Nothing
End Function
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 29.10.2009 в 05:17.
SAS888 вне форума Ответить с цитированием
Старый 29.10.2009, 14:07   #4
kloyn91
 
Регистрация: 27.09.2009
Сообщений: 9
По умолчанию

Спасибо огромное!
kloyn91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача - Даны номерные знаки автомашин.Определите,есть ли среди них одинаковые. NATKA Помощь студентам 3 01.12.2008 19:35
Одинаковые числа artemavd Общие вопросы Delphi 10 14.11.2008 20:36
Одинаковые элементы kodov Общие вопросы Delphi 3 11.08.2008 14:03
Одинаковые строки Македонский Общие вопросы Delphi 3 05.10.2007 14:40