Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.04.2012, 19:31   #1 (permalink)
Vans
Новичок
 
Регистрация: 08.04.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Составить программу, определяющую самые старые здания (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
Vans вне форума   Ответить с цитированием

Старый 08.04.2012, 19:31
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В похожих темах обычно много интересных советов

Задача на массивы в Visual Basic
Задача в Visual Basic
Создание программ в среде Visual Basic 6.0
Задача по Visual Basic
Помощь с Visual Basic

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:40.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.