• Nie Znaleziono Wyników

Ćwiczenie VB6.03 Tablica(N,N)_ćwiczenia Zadanie

N/A
N/A
Protected

Academic year: 2021

Share "Ćwiczenie VB6.03 Tablica(N,N)_ćwiczenia Zadanie"

Copied!
3
0
0

Pełen tekst

(1)

Copyright © 2014, Janusz Bonarowski 1

Ć wiczenie VB6.03 Tablica(N,N)_ćwiczenia

Zadanie

Zbudować aplikację, która zapełnia tablicę NxN liczbami przypadkowymi całkowitymi z przedziału <10,20>.

UmoŜliwić zerowanie wskazanego wiersza i wskazanej kolumny.

Efekt wyświetlać w TextBox’się (uwaga: TextBox powinien mieć właściwość Multiline = True).

Rysunek 1. Propozycja formularza Uwagi

• Aby wszystkie procedury miały dostęp do tabeli z danymi zadeklarujemy ją jako publiczną (tzn. na zewnątrz wszystkich procedur). Podobnie postąpimy z rozmiarem tablicy N.

• PoniewaŜ rozmiar tablicy moŜe być zmienny – zdeklaruje my ją na zewnątrz wszystkich procedur bez dokładnego rozmiaru:

Dim tabela(,) As Integer

a konkretny rozmiar zadeklarujemy słowem kluczowym ReDim, po odczytaniu wskazanego rozmiaru ReDim tabela(N - 1, N - 1).

• Wydruki tabeli(,) wykonamy posługując się własną procedurą typu Sub: WydrukTabeli()

• Aby tabela była kwadratowa napiszemy dwie procedury:

txtLiczbaWierszy_TextChanged() i txtLiczbaKolumn_TextChanged(), które wzajemnie „pilnują”, aby liczba kolumn była równa liczbie wierszy.

• Gdy zamierzamy zapełnić tabelę liczbami rzeczywistymi z przedziału <min, max> stosujemy wzór:

min + (Rnd() * (max - min)),

• Gdy zamierzamy zapełnić tabelę liczbami całkowitymi z przedziału <min, max> stosujemy wzór:

Int(min + (Rnd() * (max - min + 1)))

(2)

Copyright © 2014, Janusz Bonarowski 2 Kod aplikacji

Dim tabela(,) As Integer '--- Dim N As Integer

Private Sub Form1_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load 'By liczby losowe były „naprawdę” losowe.

Randomize() End Sub

Private Sub WydrukTabeli()

'Wydruk tabeli do TextBox'u txtWydruk.

Dim wiersz As String Dim iw, ik As Integer wiersz = ""

For iw = 0 To N - 1 For ik = 0 To N - 1

wiersz = wiersz & tabela(iw, ik).ToString & vbTab

' znak tabulacji Next

wiersz = wiersz & vbCrLf Next

txtWydruk.Text = wiersz End Sub

Private Sub txtLiczbaWierszy_TextChanged(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles txtLiczbaWierszy.TextChanged txtLiczbaKolumn.Text = txtLiczbaWierszy.Text

End Sub

Private Sub txtLiczbaKolumn_TextChanged(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles txtLiczbaKolumn.TextChanged txtLiczbaWierszy.Text = txtLiczbaKolumn.Text

End Sub

Private Sub btnRnd_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnRnd.Click ' Zapełnianie tabeli(n,n) liczbami przypadkowymi całkowitymi

' z przedziału <10,20>

Dim iw, ik As Integer Dim min As Integer = 0 Dim max As Integer = 9

N = CInt(txtLiczbaWierszy.Text) ReDim tabela(N - 1, N - 1)

'--- For iw = 0 To N - 1

For ik = 0 To N - 1

tabela(iw, ik) = Int(10 + (Rnd() * (20 - 10 + 1))) '--- Next

Next

Call WydrukTabeli() End Sub

(3)

Copyright © 2014, Janusz Bonarowski 3 Private Sub btnZerujWiersz_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnZerujWiersz.Click 'Zerowanie wiersza: NrWiersza (uwaga: licząc od 0 do N-1)

Dim NrWiersza As Integer

NrWiersza = CInt(txtNrWiersza.Text) For i = 0 To N - 1

tabela(NrWiersza, i) = 0 Next

Call WydrukTabeli() End Sub

Private Sub btnZerujKolumne_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnZerujKolumne.Click 'Zerowanie kolumny: NrKolumny (uwaga: licząc od 0 do N-1)

Dim NrKolumny As Integer

NrKolumny = CInt(txtNrKolumny.Text) For i = 0 To N - 1

tabela(i, NrKolumny) = 0 Next

Call WydrukTabeli() End Sub

Cytaty

Powiązane dokumenty

Oczywiście po wstawieniu tabeli można dodawać lub usuwać wiersze i kolumny za pomocą narzędzi rysowania i gumki z paska tabele i krawędzie:.. Korzystając z tego samego paska

[r]

Półwysep Arabski – pustynie i półpustynie- fenek. Za każdy prawidłowy wpis do tabeli– po

Skopiuj student´ow 5 roku do tabeli pracownicy (Insert into) jako telefon wpisz 9974. Zwi¸eksz ka˙zdemu studentowi rok

Student(ka) może poprawiać ocenę pozytywną, zaproponowaną mu na zaliczenie kursu na podstawie kolokwiów, ryzykując jednak jej pogorszeniem nawet na ocenę niedostateczną

W 10-cio elementowej partii pewnego towaru są 2 sztuki wadliwe.. Wylosowano bez zwrotu

W bloku PL/SQL sprawdź, którego artykułu jest najwięcej w magazynie i zmniejsz ilość tego artykułu o 5 (jeśli stan jest większy lub równy 5, w przeciwnym wypadku zgłoś

Przykładowy zestaw zada na ostatnie kolokwium