본문 바로가기

C#

문제풀이 질문답변관련

반응형
질문

비주얼 베이직 매우 급히 질문 있습니다. 내공100

비공개
질문14건
질문마감률90.9%
질문채택률63.6%
2018.01.09. 10:18
조회수8

2가지 문제가 있습니다.
--------------------------------------------------------
모듈 수준 정수 배열 oldArr을 정의하고 초기 값을 지정하십시오.

Dim oldArr % () = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5}

OldArr은 폼의 Load 이벤트 중에 TextBox1에 표시됩니다.

Remove Zero 명령 단추를 클릭하면 oldArr 값이 0이 아닌 요소가 newArr 배열에 저장되고 newArr이 TextBox2에 표시됩니다.



팁 : newArr의 정확한 크기를 모르기 때문에 newArr의 크기를 정의 할 수 없습니다. oldArr을 순회하는 과정에서 0이 아닌 요소가 발견 될 때마다 newArr의 크기가 1 씩 증가하고 데이터가 기록됩니다. 여기서 newArr 인덱스 상한 또는 요소 수를 기록하기 위해 변수를 정의해야합니다. 다음 코드를 참조 할 수 있습니다.

Dim i%, newArr%()

Dim count% = -1

For i = 0 To oldArr.GetUpperBound(0)

    If oldArr(i) <> 0 Then

        count += 1

        ReDim Preserve newArr(count)

        newArr(count) = oldArr(i)

    End If

Next


번역기를 돌린건데요

쉽게 말하면 위의 oldArr = 1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 이 배열에서 Remove Zero 버튼을 누를시 textbox2에 0을 제외한 수 1, 3, 4, 5, 6, 6, 5, 4, 7, 6, 7, 5 가 나와야 합니다.

-----------------------------------------------------------------

5 행 7 열의 정수 2 차원 배열을 정의합니다. 처음 6 열은 5 명의 학생 6 과목의 시험 점수를 저장하는 데 사용되며 7 열은 각 학생 시험의 평균 점수를 저장하는 데 사용됩니다. "통계"명령 단추를 클릭하면 (1) 임의의 기능을 사용하여 5 명의 학생 (0-100 점)의 6 개의 수업을 생성하고 각 학생의 평균 점수를 계산하고 배열에 데이터를 씁니다. (2) TextBox1 텍스트 상자에 표시된 점수와 평균 점수. 아래 그림과 같은 프로그램 인터페이스.

이것도 번역기를 돌렸습니다. 아래는 디자인 입니다.


쉽게 말해서 계산 버튼을 누르면 textbox1에 5명의 6개 과목의 성적이 임의로 생성되고 각각의 학생에 평균 값이 나와야 합니다.


첨부 이미지





위와같은 질문이 있어서 샘플을 만들어보았습니다.


답변

토슈이님 답변입니다.

채택답변수258
2018.01.09. 13:44
프로필 페이지 이동
안녕하세요. 아래와같이 구현해보았습니다.
첨부 이미지

첨부 이미지

첨부 이미지


소스는 아래와 같습니다.
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
43
44
45
46
47
48
49
50
51
 
    Dim oldArr%() = {1345006605476705}
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        Dim i%, newArr%()
        Dim count% = -1
        Dim tmp As String = String.Empty
 
        For i = 0 To oldArr.GetUpperBound(0)
            If oldArr(i) <> 0 Then
                count += 1
                ReDim Preserve newArr(count)
                newArr(count) = oldArr(i)
                tmp += oldArr(i).ToString() + ", "
            End If
        Next
 
        TextBox2.Text = Mid(tmp, 1, Len(tmp) - 2)
 
    End Sub
 
    Dim total(,) As Integer = New Integer(,) _
    {
        {2080607090300},
        {5050603080500},
        {8020307070900},
        {4080602080500},
        {3010207010900}
    }
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim cnt As Integer = 0
        Dim tmp As String = String.Empty
 
        For i = 0 To total.GetUpperBound(0)
            cnt = 0
            tmp = String.Empty
 
            For j = 0 To total.GetUpperBound(1- 1
                cnt += total(i, j)
                tmp += total(i, j).ToString() + "             "
            Next
            total(i, total.GetUpperBound(1)) = cnt
 
            TextBox1.Text = TextBox1.Text +
tmp.ToString()& "     " &
Int((cnt / 6).ToString()) & vbCrLf
        Next
 
    End Sub
cs

혹시나해서
소스파일 전체를 첨부합니다.
도움되시길 바랍니다.

관련소스는 아래에서 다운받아볼수 있습니다.


반응형