Hogyan írnátok meg egy olyan programot Visual Basicben, ahol az a feladat, hogy annyiszor írja ki a szót egymás mellé ahány betűből áll a szó?
Dim x As String
x = ReadLine()
Dim y As Integer
For y = Len(Of String)()
WriteLine("x" + "x")
Next
valami ilyesmivel próbálkoztam:d ez az első de a For-os sor nem tetszik neki
Basic-et nem tolom így fejből, de a 'for' szintaxisa valami ilyesmi:
for x = 1 to 10
next
Tehát meg kell neki adni a kezdőértéket, és hogy meddig menjen el.
Nincs valami könyved, dokumentációd, intellisense, stackoverflow...?
Mert csak így a levegőből azért nehéz lesz rájönni az utasításokra :)
Imports System.Console, System.Math, System.IO
Module Module1
Sub Main()
Dim x As Integer
x = ReadLine()
Dim T() As Integer = {x}
T() = ReadLine()
If T(x) = 0 Then
WriteLine("tartalmaz nullát")
End If
End Sub
End Module
ez meg a második.. itt azt kéne kitalálni, hogyan írjam le azt, hogy T tömb tartalmazza a 0-t
Na jó. A második pedig, úgy, ahogy van, hülyeség. Én eleve nem számot olvasnék be, hanem stringet, mert a felhasználó akármilyen hülyeséget beírhat, és máris hibával áll le a program. A stringet ellenőrizd, hogy a neked tetsző hosszúságú-e, és ha igen, alakítsd át számmá, és ha megfelelő, ez legyen a ciklusváltozó. Ezek után a következő két lehetőség valamelyikét javaslom:
1. Egy ciklusban olvass be karaktereket, és mindig add hozzá egy eredetileg üres stringhez. Utána ellenőrizd végig, hogy tartalmaz-e "0"-nál kisebb vagy "9"-nél nagyobb karaktereket. Ha igen, ne fogadd el, mert nem számsor. Ha közben "0"-t találsz, növelj egy erre szolgáló változót. Ha a string elfogadhatónak bizonyul, és a nullaváltozó nagyobb 0-nál, írd ki, hogy van benne.
2. Egyszerre olvasd be a stringet. Ha a hossza nem egyenlő az előre beolvasott számértékkel, máris hibás. Ha ebből a szempontból megfelelő, akkor végezd el a fenti két ellenőrzést is.
Az első feladathoz:
0. Adj a változóknak valami értelmesebb nevet:
Dim TextStr As String = ReadLine()
1. A sztring hosszát tárold el egy Integer változóban:
Dim TextLen As Integer = Len(TextStr)
2. A Basicben a FOR ciklus így néz ki:
For index As Integer = 1 To TextLen
' ide jön a ciklusmag...
Next
3. A ciklusmagban a WriteLine helyett - ami egyrészt fájlba ír, másrészt sortörést hagy - használj Console.Write-tot:
Console.Write(TextStr)
ehhez persze a program elején be kell importálni a System namespace-t:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!