• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Составить программу, определяющую самые старые здания (Visual Basic.Net)

  • Автор темы Автор темы Vans
  • Дата начала Дата начала

Vans

Ученик
Регистрация
8 Апр 2012
Сообщения
1
Реакции
0
Баллы
0
Составить программу, определяющую самые старые здания (Visual Basic.Net)

Имеется список 60-ти зданий города, подлежащих реконструкции. Сведения о каждом здании содержат название микрорайона, улицу, номер дома и год постройки. Составить алгоритм и программу определения самых старых зданий, подлежащих реконструкции. Сформировать списки, содержащие полные сведения об этих домах по микрорайонам. Если в микрорайоне таких домов нет, выдать соответствующее сообщение.
(Нужно создать модуль и 2 формы: в 1 форме вывод исходного файла, во 2 форме файла с результатом содержимого)

Помогите пожалуйста доработать программу

Вот мои наработки:

Module Module1
Public A() As String 'массив из текстового файла
Public MicroRayon(), nMicroRayon(), Ulica(), nUlica() As String
Public Ndoma(), God(), nNdoma(), nGod() As Integer
Public n As Integer = -1
Public t As Integer = -1
Public z As Integer
Public b() As String
'Процедура вывода строки
Sub vivod(ByVal M() As String, ByVal Lb As ListBox, ByVal k As Integer)
Dim i As Integer
For i = 0 To k
Lb.Items.Add(M(i))
Next
End Sub

'процедура вывода строки , состоящей из целых чисел
Sub vivodInt(ByVal M() As Integer, ByVal Lb As ListBox, ByVal k As Integer)
Dim i As Integer
For i = 0 To k
Lb.Items.Add(M(i))
Next
End Sub

'процедура чтения из файла
Sub readfile(ByRef M() As String)
Dim OpenFiledialog1 As New OpenFileDialog
OpenFiledialog1.InitialDirectory = "C:\"
OpenFiledialog1.Filter = "Текстовые файлы (*.txt)|*.txt"
If OpenFiledialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Try
FileOpen(1, OpenFiledialog1.FileName, OpenMode.Input)
Do While Not EOF(1)
n = n + 1
ReDim Preserve A(n)
A(n) = LineInput(1)
Loop
FileClose(1)
Catch ex As Exception
MsgBox("Ошибка при чтении")
End Try
End If
End Sub

'процедура распределения частей строки из файла по Listbox
Sub sp(ByVal M() As String, ByRef MicroRayon() As String, ByRef Ulica() As String, _
ByRef Ndoma() As Integer, ByRef God() As Integer)
Dim i As Integer
Dim v() As String
For i = 0 To n
v = M(i).Split(CChar(","))
MicroRayon(i) = v(0)
Ulica(i) = v(1)
Ndoma(i) = CInt(v(2))
God(i) = CInt(v(3))
Next
End Sub

'Процедуры решения задачи
Sub unical(ByRef c() As String, ByRef b() As String)
Dim i, j, k, f As Integer
z = c.Length - 1
b(0) = c(0)
k = 0
For i = 1 To z
f = 0
For j = 0 To k
If c(i) = b(j) Then f = 1
Exit For
Next j
If f = 0 Then k = k + 1
b(k) = c(i)
Next i
ReDim Preserve b(k)
End Sub

Sub sort(ByVal MicroRayon() As String, ByVal Ulica() As String, ByVal Ndoma() As Integer, ByVal God() As Integer, _
ByRef nMicroRayon() As String, ByRef nUlica() As String, ByRef nNdoma() As Integer, ByRef nGod() As Integer, ByRef b() As String)
Dim j, k, mingod As Integer
For i = 0 To k - 1
mingod = 2015
For j = 0 To k - 1
If MicroRayon(i) = MicroRayon(j) Then
If God(j) < mingod Then
mingod = God(j)
k = j
ReDim Preserve nMicroRayon(t), nUlica(t), nNdoma(t), nGod(t)
nMicroRayon(t) = MicroRayon(j)
nUlica(t) = Ulica(j)
nNdoma(t) = Ndoma(j)
nGod(t) = God(j)
End If
End If
Next
Next
End Sub
End Module
 
Назад
Сверху