Module Module1

    Sub Main()
        Dim names(), titles() As String
        Dim vathmoi(,), avgStudent(), avgLesson() As Double
        Dim students, lessons As Short
        Dim sum As Double
        Dim minp As Short
        Dim min As Double
        Dim maxp As Short
        Dim max As Double


        Console.Write("Εισάγετε τον αριθμό των μαθητών ")
        students = Console.ReadLine()
        Console.Write("Εισάγετε τον αριθμό των μαθημάτων ")
        lessons = Console.ReadLine()

        ReDim names(students - 1)
        ReDim titles(lessons - 1)
        ReDim vathmoi(students - 1, lessons - 1)
        ReDim avgStudent(students - 1)
        ReDim avgLesson(lessons - 1)

        For i As Integer = 0 To lessons - 1
            'Θα ζητήσουμε τους τίτλους για τα μαθήματα μας.
            Console.Write("Εισάγετε το τίτλο του μαθήματος. ")
            titles(i) = Console.ReadLine()
        Next

        For i As Integer = 0 To students - 1
            'Θα ζητήσουμε το όνομα του μαθητή
            Console.Write("Εισάγετε το όνομα του μαθητή ")
            names(i) = Console.ReadLine()

            For j As Integer = 0 To lessons - 1
                'θα ζητήσουμε το βαθμό του μαθητή στο μαθημα.
                Console.Write("Εισάγετε το βαθμό του μαθητή " & names(i) & " για το μάθημα " & titles(j) & " ")
                vathmoi(i, j) = Console.ReadLine()

            Next
        Next

        'For i As Integer = 0 To students - 1
        '    For j As Integer = 0 To lessons - 1
        '        sum += vathmoi(i, j)
        '    Next
        '    'πριν αλλάξουμε στήλη, θα βρούμε και θα αποθηκεύσουμε το ΜΟ στο πίνακα avgStudent
        '    avgStudent(i) = sum / lessons
        '    sum = 0

        'Next

        'For j As Integer = 0 To lessons - 1
        '    For i As Integer = 0 To students - 1
        '        sum += vathmoi(i, j)
        '    Next
        '    'πριν αλλάξουμε γραμμή, θα βρούμε και θα αποθηκεύσουμε το ΜΟ στο πίνακα avgStudent
        '    avgLesson(j) = sum / students
        '    sum = 0
        'Next

        'minp = 0
        'min = avgStudent(0)
        'For i As Integer = 1 To students - 1
        '    If min > avgStudent(i) Then minp = i
        'Next

        'maxp = 0
        'max = avgLesson(0)
        'For i As Integer = 1 To lessons - 1
        '    If max <= avgLesson(i) Then maxp = i
        'Next


        'Console.WriteLine("Ο μαθητής με τη χαμηλότερη βαθμολογία {0} είναι ο {1}", avgStudent(minp), names(minp))
        'Console.WriteLine("Το μάθημα με τον υψηλότερο μέσο όρο {0} είναι {1}", avgLesson(maxp), titles(maxp))
        'Array.Sort(avgStudent)

        'Array.Sort(avgStudent, names)
        'For i As Integer = 0 To students - 1
        '    Console.WriteLine("{0} , {1}", avgStudent(i), names(i))
        'Next
        'For i As Integer = students - 1 To 0 Step -1
        '    Console.WriteLine("{0} , {1}", avgStudent(i), names(i))
        'Next
        'Array.Reverse(avgStudent)
        'Array.Reverse(names)
        'For i As Integer = 0 To students - 1
        '    Console.WriteLine("{0} , {1}", avgStudent(i), names(i))
        'Next

        ''Εμφανίζουμε τα δεδομένα μας με ποιο όμορφο τρόπο.

        ''Αφήνουμε ένα ΤΑΒ κενό
        'Console.Write(vbTab)

        ''και εμφανίζουμε τα ονόματα των μαθητών
        'For Each name As String In names
        '    Console.Write(name + vbTab)
        'Next

        ''Πηγαίνουμε στη κάτω γραμμή
        'Console.WriteLine(vbNewLine)

        'For i As Integer = 0 To lessons - 1
        '    'Εμφανίζουμε τους τίτλους των μαθημάτων
        '    Console.Write(titles(i) + vbTab)
        '    For j As Integer = 0 To students - 1
        '        'Και τους βαθμούς.
        '        Console.Write(vathmoi(j, i).ToString + vbTab)
        '    Next
        '    'Στο τέλος κάθε γραμμής, εμφανίζουμε το μέσο όρο του μαθήματος και πηγαίνουμε στη κάτω γραμμή
        '    Console.Write(avgLesson(i).ToString + vbNewLine)
        'Next

        'Console.Write(vbTab)

        ''Τέλος εμφανίζουμε τους μέσους όρους των μαθητών 
        'For j As Integer = 0 To students - 1
        '    Console.Write("{0:n2}" + vbTab, avgStudent(j))
        'Next

        Console.ReadKey()

    End Sub

End Module
