Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подскажите, пожалуйста, с решением задачи!

71K
21 января 2014 года
KLOM
12 / / 03.11.2013
даны 2 одномерных массива, каждый содержит фамилии студентов. в первом массиве фамилии тех, кто участвовал в олимиаде по математике, во втором тех, кто участвовал в олимпиаде по физике. нужно найти количество студентов, кот. участвовали только в одной олимпиаде. считается, что однофамильцев нет

Заранее благодарю за помощь:)
63K
23 января 2014 года
serdesh
1 / / 05.07.2011
Код:
Public Class Form1
    Dim mMat() As String = {"Петров", "Сидоров", "Козлов", "Веселов", "Мартынов", "Пупков"}
    Dim mFiz() As String = {"Петров", "Ветров", "Козлов", "Мочалов", "Мартынов", "Швондер", "Умников"}
    Dim number_of_students As Integer = 0
    Dim num_unicue_studenst As Integer = 0 'Количество "униткальных" студентов
    Dim pStudents() As String 'массив студентов, участвующих в обеих олимпиадах

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mBigger() As String
        Dim mSmaller() As String
        If mMat.Length > mFiz.Length Then
            mBigger = mMat
            mSmaller = mFiz
        Else
            mBigger = mFiz
            mSmaller = mMat
        End If

        For i As Integer = 0 To mBigger.Length - 1
            For j As Integer = 0 To mSmaller.Length - 1
                If mBigger(i) = mSmaller(j) Then
                    ReDim Preserve pStudents(number_of_students)
                    pStudents(number_of_students) = mSmaller(j)
                    number_of_students += 1
                    Exit For
                End If
            Next
        Next
        'ListBox2.Items.AddRange(pStudents)
        'Считаем всех кроме тех кто в массиве pStudents
        Dim no_mathes As Boolean = False 'Tru - нет совпадений
        For i As Integer = 0 To mBigger.Length - 1
            For j As Integer = 0 To pStudents.Length - 1
                If mBigger(i) = pStudents(j) Then
                    no_mathes = False
                    Exit For
                Else
                    no_mathes = True
                End If
            Next
            If no_mathes = True Then
                'ListBox1.Items.Add(mBigger(i))
                num_unicue_studenst += 1
            End If
        Next
        For i As Integer = 0 To mSmaller.Length - 1
            For j As Integer = 0 To pStudents.Length - 1
                If mSmaller(i) = pStudents(j) Then
                    no_mathes = False
                    Exit For
                Else
                    no_mathes = True
                End If
            Next
            If no_mathes = True Then
                'ListBox1.Items.Add(mSmaller(i))
                num_unicue_studenst += 1
            End If
        Next
        MsgBox("Студентов, участвующих только в одной олимпиаде - " & num_unicue_studenst & " чел.")
    End Sub
End Class
.овно код, но работает :)
71K
23 января 2014 года
KLOM
12 / / 03.11.2013
спасибо)

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог