Gå til innhold

[Løst]Skikkelig grønn i vb


Anbefalte innlegg

skal lage et prog som gir følgende utskrift i en listbox

 

1

12

123

1234

12345

 

Skal bruke løkker (to nøstede for-løkker) og en variabel.

De 5 linjene skal ikke skrives ut direkte, men bygges opp en etter en.

Trenger et stort hint

 

På forhånd takk

:roll:

Lenke til kommentar
Videoannonse
Annonse

Kan ikke noe særlig om VB, men vil tro det skulle være noe slikt (i c++):

 

const int MAX_LINJER = 5;
for(int i=0;i <= MAX_LINJER; i++){
 for(int j=0; j <= i; j++){
   //legg j til i listboksen her
 }//for
 //Legg til ny linje her
}//for
//vis listboks her

 

Som sagt, aner ikke hvordan dette ser ut i VB, men håper at det hjelper litt.

 

Sp+

Lenke til kommentar

Dim i As Byte
Dim j As String

List1.Clear

For i = 1 To 5
   
   j = j & i
   
   List1.AddItem (j)
Next i

 

hva betyr "to nøstede for-løkker"?

 

EDIT: og hvorfor skal du ha to?

Endret av 86Fredrik
Lenke til kommentar

Denne koden bruker to løkker, og en buff-variabel:

Private Sub Form_Load()

Dim buff As String

Dim i
For i = 1 To 5
   
   Dim o
   For o = 1 To i
       
       buff = buff & o
       
   Next o
   
   List1.AddItem buff
   
   buff = ""
   
Next i

End Sub

Lenke til kommentar

et litt merkelig spørsmål det... han vil bruke 1 variabel. Men det er umulig hvis du skal ha to for-løkker i hverandre (som bruker en variabel hver).

 

Og hvorfor bruke to for-løkker når man ikke trenger å bruke mer enn en?

Lenke til kommentar

Hei

Takker for kodesnuttene. For å få litt klarhet rundt dette så er dette en oppgave jeg har fått og skal som nevnt gi en slags "trekant" (se over). Oppgaveteksten sier at

 

"Det er ikke lov til å skrive 5 setninger ut direkte. Du skal bruke løkker og en variabel for å lage trekanten. Hint - bruk to nøstede for-løkker og bygg deg gradvis opp en streng av tall. "

 

Jeg gjorde i starten det som 86Fredrik foreslår, men tror ikke dette blir helt på g i ihh til oppg.tekten

 

Hvordan skal man løse dette da?

 

 

:dontgetit:

Lenke til kommentar

Private Sub Form_Load()

Dim buff As String

Dim i
For i = 1 To 5
   
   Dim o
   For o = 1 To i
       
       buff = buff & o
       
   Next o
   
   List1.AddItem buff
   
   buff = ""
   
Next i

End Sub

 

Her er hvordan du skal løse det hvis du skal gjøre nøyaktig som det står i oppgaven (quote fra Jonas). Men min kode funker på samme måte. Syns at du skal levere begge to til lærern din.

Endret av 86Fredrik
Lenke til kommentar
Hmm... litt dårlig bruk av emnefelt. Topicen skal si noe om selve problemet, ikke framheve at forfatteren er "skikkelig grønn i vb".

Gjør vel egentlig ikke så mye i denne lille VB-delen. Jeg sjekker alle tråder uansett topic så :p

 

Og btw:

p_report.gif

Lenke til kommentar

Men bruken av to løkker er overflødig,

for hver bokstav du legger til, legger du linja til i listboxen

 

Dim out As String
Dim X As Long
For X = 0 To 5
 out = out & Str(X)
 ListBox1.AddItem out
Next

 

og du kan gjøre det samme i C++

// Using MFC
char out[256];
unsigned int x;
ZeroMemory((char*)&out, 256);
for(x=0;x<5;x++)
{
 out[x] = (char)x;
 this->listBox1.AddItem((char*)&out);
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...