Одномерные массивы

Тема в разделе "Visual Basic", создана пользователем Irichka, 5 янв 2011.

Статус темы:
Закрыта.
  1. Irichka

    Irichka Гость

    Само задание обширное, но затруднение вызвала вот эта часть:
    Дана последовательность из 20-ти элементов. Нужно получить в отдельном массиве все элементы, входящие в последовательность:
    а) по одному разу
    б) более чем по одному разу
    в) более чем по два раза

    Попыталась реализовать пункт А. До половины массива программа работает нормально, а после заносит элементы в Massiv1, которых в нём быть не должно. Помогите, пожалуйста, исправить ошибку.

    Код (LotusScript):
    Public N As Byte
    Dim i As Byte
    Dim Massiv() As Single
    Dim Massiv1() As Single, Massiv2() As Single, Massiv3() As Single
    Dim Fname As String

    Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    End Sub

    Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    End Sub

    Private Sub File1_Click()
    Fname = File1.Path + "\" + File1.FileName
    End Sub

    Private Sub Form_Load()
    Dir1.Visible = False
    Drive1.Visible = False
    File1.Visible = False
    Command1.Visible = False
    End Sub
    Private Sub Menu_Click(Index As Integer)
    Dim Kol As Byte, j As Byte
    Select Case (Index)
    '       Case 3
    '     Load Form2
    '     Form2.Show
    Case 4
    If MsgBox("Вы уверены?", vbYesNo + vbQuestion, "Выход") = vbYes Then
    Unload Form1
    End If
    End Select
    End Sub

    Private Sub Command1_Click()
    Dim Str As String, k As Byte
    Picture1.Cls
    ReDim Massiv(0)
    Open Fname For Input As #1 Len = Len(Massiv(0))
    N = 0
    k = 0
    Do While Not EOF(1)
    Line Input #1, Str
    Massiv(UBound(Massiv)) = Val(Str)
    ReDim Preserve Massiv(UBound(Massiv) + 1)
    Picture1.Print (Massiv(N)); Tab
    N = N + 1
    Loop
    Close #1
    Podmenu2(0).Enabled = True
    Podmenu2(1).Enabled = True
    Podmenu2(2).Enabled = True
    Dir1.Visible = False
    Drive1.Visible = False
    File1.Visible = False
    Command1.Visible = False
    End Sub

    Private Sub Podmenu1_Click(Index As Integer)
    Label3.Caption = ""
    Picture1.Cls
    Select Case (Index)
    Case 0
    Dir1.Visible = True
    Drive1.Visible = True
    File1.Visible = True
    Command1.Visible = True
    Dir1.SetFocus

    End Select
    End Sub

    Private Sub Podmenu3_Click(Index As Integer)
    Select Case (Index)
    Case 0
    Open "D:\Program files\Microsoft Visual Studio\VB98\Lab5\lab5.txt" For Output As #1
    For i = 0 To N - 1
    Print #1, , Massiv(i),
    Next i
    Close #1
    Case 1
    On Error GoTo met
    CommonDialog1.Filter = "текстовый файл(*.txt)|*.txt"
    CommonDialog1.ShowSave
    Open CommonDialog1.FileName For Output As #1
    For i = 0 To N - 1
    Print #1, , Massiv(i),
    Next i
    Close #1
    End Select
    End Sub


    Private Sub Podmenu2_Click(Index As Integer)
    ReDim Massiv1(N), Massiv2(N), Massiv3(N)
    For i = 0 To N - 1
    Massiv1(i) = Massiv(i)
    Massiv2(i) = Massiv(i)
    Massiv3(i) = Massiv(i)
    Next i

    Select Case (Index)
    Case 0
    Label3.Caption = "Элементы, встречающиеся один раз"
    i = N - 1
    Kol = N
    Do While i <> 0
    For k = i + 1 To N - 1
    If Massiv1(i) = Massiv1(k) Then

    For j = i To Kol - 2
    Massiv1(j) = Massiv1(j + 1)
    Next j

    Kol = Kol - 1
    End If
    Next k
    i = i - 1
    Loop
    Picture1.Cls
    For i = 0 To Kol - 1
    Picture1.Print Massiv(i), , , Massiv1(i)
    Next i
    For i = Kol To N - 1
    Picture1.Print Massiv(i)
    Next i
    N = Kol

    Case 1
    Label3.Caption = "Элементы, встречающиеся более чем по одному разу"
    ' ............   
    Case 2
    Label3.Caption = "Элементы, встречающиеся более чем по два раза"
    ' ............
    End Select
    Podmenu2(0).Enabled = True
    Podmenu2(1).Enabled = True
    End Sub
     

    Вложения:

    • VBlab5.rar
      Размер файла:
      12,6 КБ
      Просмотров:
      4
Загрузка...
Похожие Темы - Одномерные массивы
  1. Lizzz
    Ответов:
    1
    Просмотров:
    1.246
  2. Fazer77777
    Ответов:
    1
    Просмотров:
    1.666
  3. 203
    Ответов:
    2
    Просмотров:
    1.386
  4. 203
    Ответов:
    0
    Просмотров:
    949
  5. 203
    Ответов:
    2
    Просмотров:
    2.169
Статус темы:
Закрыта.

Поделиться этой страницей