![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 22.04.2012
Сообщений: 1
|
![]()
Имеется список 60-ти зданий города, подлежащих реконструкции. Сведения о каждом здании содержат название микрорайона, улицу, номер дома и год постройки. Составить алгоритм и программу определения самых старых зданий, подлежащих реконструкции. Сформировать списки, содержащие полные сведения об этих домах по микрорайонам. Если в микрорайоне таких домов нет, выдать соответствующее сообщение.
Подскажите пожалуйста, где ошибка выводит только: Бусиново: Войковская,12,1890 Петрозаводская,15,1895 дальше микрорайоны (или года) не сравнивает... Option Explicit On Imports System.IO Module Module1 Public A() As String 'массив из текстового файла Public MicroRayon(), nMicroRayon(), Ulica() As String Public God(), Ndoma() As Integer Public n As Integer = -1 Public Result 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 i 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 i End Sub 'процедура вывода списков, содержащие сведения о домах Sub vivod(ByVal Z As String, ByVal T As TextBox) T.Text = CStr(Z) 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.O K Then Try FileOpen(1, OpenFiledialog1.FileName, OpenMode.Input) Do Until EOF(1) n = n + 1 ReDim Preserve A(n) A(n) = LineInput(1) Loop Catch ex As Exception MsgBox("Ошибка при чтении") Finally FileClose(1) End Try End If End Sub 'процедура распределения частей строки из файла по Listbox Sub sp(ByRef M() As String, ByRef MicroRayon() As String, ByRef Ulica() As String, _ ByRef Ndoma() As Integer, ByRef God() As Integer) Dim i As Integer Dim sved() As String For i = 0 To n sved = M(i).Split(CChar(",")) MicroRayon(i) = sved(0) Ulica(i) = sved(1) Ndoma(i) = CInt(sved(2)) God(i) = CInt(sved(3)) Next i End Sub 'процедура сравнивающая микрорайоны Sub unical(ByRef MicroRayon() As String, ByRef sved() As String) Dim i, j, f, k As Integer k = 0 nMicroRayon(k) = MicroRayon(0) For i = 0 To UBound(MicroRayon) 'Цикл формирует массив MicroRayon(), который 'будет содержать уникальные названия районов (если какое-либо название будет 'повторятся, то в массив записыватся уже не будет). f = 0 For j = 0 To k If MicroRayon(i) = MicroRayon(j) Then ' MicroRayon(i)- строка, содержащая 'название текущего района. f = 1 Exit For End If Next j If f = 0 Then 'Название не повторяется, тогда: k = k + 1 nMicroRayon(k) = MicroRayon(i) End If Next i ReDim Preserve nMicroRayon(k) End Sub Sub Resh(ByRef MicroRayon() As String, ByRef Ulica() As String, ByRef Ndoma() As Integer, ByRef God() As Integer, _ ByRef nMicroRayon() As String, ByRef Result As String) Dim mingod, j, k, i As Integer Result = "" For i = 0 To k mingod = 2015 Result = Result + nMicroRayon(i) + ":" + vbNewLine ' Строка Result поочередно 'присваивается район For j = 0 To UBound(MicroRayon) If nMicroRayon(i) = MicroRayon(j) Then If God(j) < mingod Then ' если год 2015 больше года сооружения, 'то запоминает год сооружения, далее сравнивает последующие 'года сооружения пока не выведет самые старые. mingod = God(j) k = j End If Result = Result + Ulica(j) + "," + CStr(Ndoma(j)) + "," + CStr(God(j)) + vbNewLine 'если названия j-го района совпадает с названием в ячейке MicroRayon(i), строка Result 'построчно запоминает сведения о зданиях в этом районе (улицу, номер дома, год сооружения End If Next j Next i End Sub End Module |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? | _PROGRAMM_ | Общие вопросы .NET | 14 | 10.10.2012 19:24 |
Литература по Visual Basic.NET ч1 | arkadihard | Помощь студентам | 5 | 06.02.2012 10:57 |
Подключение .NET к Visual Basic | papos | Общие вопросы .NET | 0 | 30.09.2010 09:01 |
Формы в visual basic.net | Timon779 | Общие вопросы .NET | 1 | 08.07.2010 00:04 |