powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пожалуйста, помогите с задачкой!
6 сообщений из 6, страница 1 из 1
Пожалуйста, помогите с задачкой!
    #37721872
sinekdoxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача:
Произведен опрос n жителей Москвы.(n фиксированное число) Каждый из них назвал фамилию самого любимого телеведущего. Составить алгоритм и программу формирования пронумерованного списка фамилий наиболее популярных ведущих, расположив фамилии в списке в порядке уменьшения количества поданных за них голосов.

Скажите пожалуйста, что неправильно в коде? Правильный ли подход к решению поставленной задачи?

Код: vbnet
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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
Module Module1

    Public n As Integer
    Public m As Integer
    Public fam1() As String
    Public fam2() As String
    Public fam3() As String

    Sub vvod(ByRef fam1() As String, ByRef fam2() As String, ByRef n As Integer, ByRef m As Integer, ByRef p1 As String, ByRef p2 As String)
        Dim i, j As Integer
        n = CInt(Val(InputBox("Введите количество ведущих(fam1)")))
        ReDim fam1(n - 1)
        For i = 0 To n - 1
            fam1(i) = InputBox("Фамилия")
            p1 = p1 & fam1(i) & vbNewLine
        Next i
        m = CInt(Val(InputBox("Введите количество ведущих(fam2)")))
        ReDim fam2(m - 1)
        For j = 0 To m - 1
            fam2(j) = InputBox("Фамилия")
            p2 = p2 & fam2(j) & vbNewLine
        Next j
    End Sub

    Sub vivod(ByVal z As String, ByVal T As TextBox)
        T.Text = z
    End Sub

    Sub sort1(ByVal n As Integer, ByVal m As Integer, ByVal fam1() As String, _
    ByVal fam2() As String, ByRef fam3() As String, ByVal p1 As String, _
    ByVal p2 As String, ByRef kol As Integer, ByRef p3 As String)
        kol = 0
        Dim i, j, l As Integer
        Dim ved As String
        ReDim fam3(n - 1)
        For l = 0 To n - 1
            For i = 0 To n - 1
                For j = 0 To m - 1
                    If fam1(i) = fam2(j) Then kol = kol + 1
                Next j
            Next i
            kol = CInt(fam1(i))
        Next l
        fam3(l) = fam1(i)
        For l = 0 To n - 1
            If fam3(l) < fam3(l + 1) Then
                ved = fam3(l + 1)
                fam3(l + 1) = fam3(l)
                fam3(l) = ved
            End If
        Next l
        p3 = p3 & fam3(l) & vbNewLine
    End Sub
End Module
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim p1 As String = ""
        Dim p2 As String = ""
        Dim n, m As Integer
        vvod(fam1, fam2, n, m, p1, p2)
        vivod(p1, TextBox1)
        vivod(p2, TextBox2)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form2.Show()
    End Sub
End ClassPublic Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim p1 As String = ""
        Dim p2 As String = ""
        Dim p3 As String = ""
        Dim topved As String = ""
        Dim kol As Integer
        sort1(n, m, fam1, fam2, fam3, p1, p2, kol, p3)
        vivod(p3, TextBox1)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub
End Class
...
Рейтинг: 0 / 0
Пожалуйста, помогите с задачкой!
    #37721995
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sinekdoxaСкажите пожалуйста, что неправильно в коде?а что не работает?
sinekdoxaПравильный ли подход к решению поставленной задачи?код изучать лень, но явно его многовато для такой простой задачи. Навскидку для начала неясно, зачем фамилии вводятся два раза.
sinekdoxaнаиболее популярных ведущихеще не раскрыта данная фраза. Чем это определяется? Количеством голосов? Или нужно вывести какой-то ТОП?
...
Рейтинг: 0 / 0
Пожалуйста, помогите с задачкой!
    #37722002
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так можно (см.приложение). Причем там N явно не используется. И можно еще вместо комбобокса - листбокс сделать, чтобы еще и ввод править можно было...

И почему задача решается на VB.NET? - это тогда вам не сюда.
...
Рейтинг: 0 / 0
Пожалуйста, помогите с задачкой!
    #37722056
sinekdoxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

1) не выводит отсортированный массив fam3, в textbox`е вообще ничего не отображается
2)Фамилии вводтся два раза, поскольку сначала хочу создать уникальный массив(где фамилии встречаются лишь по одному разу), чтобы на его основе поставить счетчик, суммирующий колчество конкретных ведущих в массиве fam2.
3)это будет определяться количеством голосов, опрошенных людей
...
Рейтинг: 0 / 0
Пожалуйста, помогите с задачкой!
    #37722060
sinekdoxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

благодарю)

да сори, что не туда(
...
Рейтинг: 0 / 0
Пожалуйста, помогите с задачкой!
    #37725565
QValD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sinekdoxa2)Фамилии вводтся два раза, поскольку сначала хочу создать уникальный массив(где фамилии встречаются лишь по одному разу), чтобы на его основе поставить счетчик, суммирующий колчество конкретных ведущих в массиве fam2.

Заставлять пользователя делать что-то, что нужно лично тебе - изначально неправильный подход к программированию. Забивай массив значениями, а дальше делай, что хошь.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пожалуйста, помогите с задачкой!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]