Kezdőoldal » Számítástechnika » Programozás » Hogyan írnátok meg egy olyan...

Talaldkihogykilehetek kérdése:

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ó?

Figyelt kérdés
Van egy másik feladat is; bekérünk egy számot, majd egy ilyen hosszú számsort, ha van benne 0, akkor írja ki, hogy "tartalmaz nullát", ha nem, ne csináljon semmit.

2017. febr. 21. 21:58
1 2
 1/13 anonim ***** válasza:
60%
én számítógéppel csinálnám, ott rögtön van lehetőség kipróbálni a kódot.
2017. febr. 21. 22:06
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
77%
Na várj. Te most meg akarsz tanulni programozni, vagy szarsz az egészre és csináljuk meg helyetted? Nem gond, ha nem érdekel a programozás, csak legalább tisztelj meg minket annyival, hogy ezt a tényt leírod. Ha viszont érdekel a programozás, akkor pedig azzal, hogy megmutatod az eddigi megoldásodat, hogy rávezethessünk téged, hogy hol a hiba és hogyan lehetne jól megcsinálni.
2017. febr. 21. 22:11
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:

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

2017. febr. 21. 22:52
 4/13 anonim ***** válasza:

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 :)

2017. febr. 21. 23:09
Hasznos számodra ez a válasz?
 5/13 A kérdező kommentje:

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

2017. febr. 21. 23:22
 6/13 A kérdező kommentje:
tudom, hogy az úgy van, de akkor itt 1 to Len(str)?
2017. febr. 21. 23:23
 7/13 tabaki ***** válasza:
Nyilván. Mi abban a furcsa?
2017. febr. 21. 23:41
Hasznos számodra ez a válasz?
 8/13 tabaki ***** válasza:
Egyébként meg nehezen érthető marhaságokat csinálsz. Az első programban, ha jól látom, ahelyett, hogy egy sorhoz mindig hozzáírnád a szót, a szó hosszának megfelelő ciklusban kiíratod, hogy xx. A másodikat mindjárt nézem...
2017. febr. 21. 23:47
Hasznos számodra ez a válasz?
 9/13 tabaki ***** válasza:

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.

2017. febr. 22. 00:08
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:

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)


[link]


2. A Basicben a FOR ciklus így néz ki:

For index As Integer = 1 To TextLen

' ide jön a ciklusmag...

Next

[link]


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)


[link]


ehhez persze a program elején be kell importálni a System namespace-t:

[link]

2017. febr. 22. 00:22
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!