Geida Posted Április 28, 2009 Share Posted Április 28, 2009 Sziasztok, ha valaki tudna nekem segíteni a következő program megírásában, akkor azt megköszönném! Module Module1 Dim Tan1(), tan2() As diak Dim Avektor(), Bvektor(), Cvektor(), c As Integer Dim i As String Dim z, k As Integer Structure diak Public Neve As String Public Atlag As Double Public Tankor As Integer Public Kredit As Integer End Structure Sub Main() Dim z As Integer z = 0 Do z = z + 1 ReDim Preserve Tan1(z), tan2(z) Console.WriteLine("Kérem a tanuló nevét: ") Tan1(z).Neve = Console.ReadLine() Console.WriteLine("Kérem a tanuló átlagát: ") Tan1(z).Atlag = CDbl(Console.ReadLine()) Console.WriteLine("Kérem a tanuló tankörét: ") Tan1(z).Tankor = CInt(Console.ReadLine()) Console.WriteLine("Kérem a tanuló kreditszámát: ") Tan1(z).Kredit = CInt(Console.ReadLine()) Console.WriteLine("Lessz még új adat? (i/n)") i = (Console.ReadLine()) Console.WriteLine("Kérem a tanuló nevét: ") tan2(z).Neve = Console.ReadLine() Console.WriteLine("Kérem a tanuló átlagát: ") tan2(z).Atlag = CDbl(Console.ReadLine()) Console.WriteLine("Kérem a tanuló tankörét: ") tan2(z).Tankor = CInt(Console.ReadLine()) Console.WriteLine("Kérem a tanuló kreditszámát: ") tan2(z).Kredit = CInt(Console.ReadLine()) Console.WriteLine("Lessz még új adat? (i/n)") i = (Console.ReadLine()) Bvektor(z) = tan2(z).Kredit Avektor(z) = Tan1(z).Kredit Loop While i <> "n" Dim ez As System.IO.FileStream Dim az As System.IO.StreamWriter ez = New System.IO.FileStream("C:\temp\g\extra.txt", IO.FileMode.Create) az = New System.IO.StreamWriter(ez) For k = 1 To z az.WriteLine(Tan1(k).Neve) az.WriteLine(Tan1(k).Atlag) az.WriteLine(Tan1(k).Tankor) az.WriteLine(Tan1(k).Kredit) Next k az.Close() End Sub Sub Afileba(ByVal eesz) Dim ez As System.IO.FileStream Dim az As System.IO.StreamWriter ez = New System.IO.FileStream("C:\temp\g\Akimeneti.txt", IO.FileMode.Create) az = New System.IO.StreamWriter(ez) Dim v As Integer For v = 0 To (eesz - 1) az.WriteLine(Avektor(v)) Next v az.Close() End Sub Sub Bfileba(ByVal eesz) Dim ez As System.IO.FileStream Dim az As System.IO.StreamWriter ez = New System.IO.FileStream("C:\temp\g\Bkimeneti.txt", IO.FileMode.Create) az = New System.IO.StreamWriter(ez) Dim v As Integer For v = 0 To (eesz - 1) az.WriteLine(Bvektor(v)) Next v az.Close() End Sub Sub metszet(ByVal Aesz, ByVal Besz) ReDim Cvektor(Aesz + Besz) Dim a, b, z, jelzo As Integer a = 0 b = 0 c = 0 For a = 0 To Aesz - 1 b = 0 Do Until Avektor(a) = Bvektor( Or b = Besz - 1 b = b + 1 Loop jelzo = 0 For z = 0 To c If Avektor(a) = Cvektor(z) Then jelzo = 1 End If Next (z) If Avektor(a) = Bvektor( And jelzo = 0 Then Cvektor© = Avektor(a) c = c + 1 End If Next (a) End Sub Sub Ckiir() Dim eez As System.IO.FileStream Dim aaz As System.IO.StreamWriter eez = New System.IO.FileStream("C:\temp\g\metszet.txt", IO.FileMode.Create) aaz = New System.IO.StreamWriter(eez) Dim v As Integer For v = 0 To (c - 1) aaz.WriteLine(Cvektor(v)) Next v aaz.Close() End Sub End Module Én idáig jutottam, a lényege, h a kredit szerint kéne összefuttatni, de valahogy nem tudom hogyan kell megcsinálni. Az is igaz, h az összeuttatás Windows Aplication-be volt eredetileg, a rekod rész pedig Console-ba! Ha valaki tudna segíteni, kérem jelezze! Előre is THX. Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Április 28, 2009 Share Posted Április 28, 2009 Aki ezek alapján neked segíteni tud... Idézés Link to comment Share on other sites More sharing options...
Marky18 Posted Április 28, 2009 Share Posted Április 28, 2009 Bocs, de ez mi akar lenni? CODE mezőbe kellene tenni először is, másodszor leírni, mi akar ez lenni. Szerintem nem vagyunk gondolatolvasók (még ). Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Április 29, 2009 Share Posted Április 29, 2009 Sztem megijesztettük Idézés Link to comment Share on other sites More sharing options...
Geida Posted Május 8, 2009 Author Share Posted Május 8, 2009 nah ennek annyi lenne a lényege, h csinál egy diák nevű rekordot (benne: név, osztály, kredit, átlag) és a kredit szerint az összefuttatás tételét használva kiírja sorba a rekodot! csak még nem jöttem rá hogyan kell megoldani! A program Visual Basic 2008 express edition-ba készül (console-ba) (egyébként nem ilyettem meg csak elfelejtettem h kértem segítséget ) Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Május 8, 2009 Share Posted Május 8, 2009 http://www.remenyikzs.sulinet.hu/Segedlet/ALGORITM/Osszefut.htm Át kell írni pascalról, de meg van fogalmazva a tétel szépen, sztem ezzel meg tudod oldani. Idézés Link to comment Share on other sites More sharing options...
Geida Posted Május 12, 2009 Author Share Posted Május 12, 2009 Köszi a segítséget, de az a baj, h nekem az összefuttatás tétele az megvan, csak épp azt nem tudom megcsinálni, h a rekordokat rakja sorba kreditszám alapján! Tehét ott vagyok ahol elkezdtem Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Május 12, 2009 Share Posted Május 12, 2009 Ez akkor rendezés? vagy én vagyok sült... :S Idézés Link to comment Share on other sites More sharing options...
Geida Posted Május 15, 2009 Author Share Posted Május 15, 2009 mettszet tétele, de ez az új változat, itt csak a cvektor-t nem írja ki! Module Module1 Dim Tan1(), tan2() As diak Dim cvektor() As diak Dim i As String Dim c As Integer Structure diak Public Neve As String Public Atlag As Double Public Tankor As Integer Public Kredit As Integer End Structure Sub Main() Dim z, t As Integer z = 0 t = 0 Do z = z + 1 ReDim Preserve Tan1(z) Console.WriteLine("Kérem a tanuló nevét: ") Tan1(z).Neve = Console.ReadLine() Console.WriteLine("Kérem a tanuló átlagát: ") Tan1(z).Atlag = CDbl(Console.ReadLine()) Console.WriteLine("Kérem a tanuló tankörét: ") Tan1(z).Tankor = CInt(Console.ReadLine()) Console.WriteLine("Kérem a tanuló kreditszámát: ") Tan1(z).Kredit = CInt(Console.ReadLine()) Console.WriteLine("Lessz még új adat? (i/n)") i = (Console.ReadLine()) Dim ez As System.IO.FileStream Dim az As System.IO.StreamWriter ez = New System.IO.FileStream("C:\temp\g\ki.txt", IO.FileMode.Create) az = New System.IO.StreamWriter(ez) For k = 1 To z az.WriteLine(Tan1(k).Neve) az.WriteLine(Tan1(k).Atlag) az.WriteLine(Tan1(k).Tankor) az.WriteLine(Tan1(k).Kredit) Next k az.Close() Loop While i <> "n" Do t = t + 1 ReDim Preserve tan2(t) Console.WriteLine(" 2 Kérem a tanuló nevét: ") tan2(t).Neve = Console.ReadLine() Console.WriteLine(" 2 Kérem a tanuló átlagát: ") tan2(t).Atlag = CDbl(Console.ReadLine()) Console.WriteLine(" 2 Kérem a tanuló tankörét: ") tan2(t).Tankor = CInt(Console.ReadLine()) Console.WriteLine(" 2 Kérem a tanuló kreditszámát: ") tan2(t).Kredit = CInt(Console.ReadLine()) Console.WriteLine(" 2 Lessz még új adat? (i/n)") i = (Console.ReadLine()) Dim ez As System.IO.FileStream Dim az As System.IO.StreamWriter ez = New System.IO.FileStream("C:\temp\g\ki2.txt", IO.FileMode.Create) az = New System.IO.StreamWriter(ez) For k = 1 To t az.WriteLine(tan2(k).Neve) az.WriteLine(tan2(k).Atlag) az.WriteLine(tan2(k).Tankor) az.WriteLine(tan2(k).Kredit) Next k az.Close() Loop While i <> "n" Call metszet(z, t) Call Ckiir() End Sub Sub metszet(ByVal Aesz, ByVal Besz) ReDim cvektor(Aesz + Besz) Dim a, b, m, jelzo As Integer a = 0 b = 0 c = 0 For a = 0 To Aesz - 1 b = 0 Do Until Tan1(a).Kredit = tan2(.Kredit Or b = Besz - 1 b = b + 1 Loop jelzo = 0 For z = 0 To c If Tan1(a).Kredit = cvektor(m).Kredit Then jelzo = 1 End If Next (z) If Tan1(a).Kredit = tan2(.Kredit And jelzo = 0 Then cvektor© = Tan1(a) c = c + 1 End If Next (a) End Sub INNEN van a baj!!!!! Sub Ckiir() Dim eez As System.IO.FileStream Dim aaz As System.IO.StreamWriter eez = New System.IO.FileStream("C:\temp\g\metszet.txt", IO.FileMode.Create) aaz = New System.IO.StreamWriter(eez) Dim v As Integer For v = 0 To (c - 1) aaz.WriteLine(cvektor(v)) Next v aaz.Close() End Sub End Module Idézés Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.