Jednowymiarowe tablice statyczne. Visual Studio C#
Tablice mogą być statyczne lub dynamiczne, jedno lub wielowymiarowe. Jednowymiarowa tablica, to zbiór danych tego samego typu przypisanych do jednej zmiennej w postaci szeregu wartości. Każda z tych wartości ma niepowtarzalny indeks w tak utworzonym zbiorze danych. Tablica jednowymiarowa jest odpowiednikiem osi liczbowej.
Cel: Napisz aplikację, która wykorzysta trzy tablice jednowymiarowe o ustalonym rozmiarze i losowych wartościach typu całkowitego, na których będzie można wykonać podstawowe działania matematyczne.

Krok1. Układ komponentów
- GroupBox- sztuk 4
- TextBox- sztuk 5
- Label- sztuk 2
- Button- sztuk 4
Proponowane rozmieszczenie komponentów przedstawia poniższa ilustracja

Trzy kontrolki TextBox są umieszczone wewnątrz trzech kontrolek GroupBox. Każda z kontrolek TextBox ma ustawioną wartość Multiline na True

Pole Dock na Fill

Wybieramy możliwość przewijania zawartości kontrolki poprzez ustawienie ScrollBars na Vertical

Krok 2. Deklarujemy zmienne
Deklarując tablice statyczne należy podać ich rozmiar, który określa maksymalną ilość elementów jaka może pomieścić dana tablica. W tym rozwiązaniu rozmiar jest podany jako wartość const w postaci zmiennej typu int.
public partial class Form1 : Form
{
const int ROZMIAR= 10;//rozmiar tablic na 10 elementow
Random los = new Random();//generatol wartosci losowych
int z = 0;//zakres losowania
int[] t1 = new int[ROZMIAR];//tablica nr 1
int[] t2 = new int[ROZMIAR];//tablica nr 2
Krok 3. Przypisanie tablicom losowych wartości
Proponowane rozwiązanie oparte jest na funkcji zwracającej typ jednowymiarowej tablicy. Funkcja jest uniwersalna i pozwala wylosować tablicę jednowymiarową o dowolnym rozmiarze z wartości nie przekraczających zadany zakres i różnych od zera
int[] losoweElementyTablicy(int rozmiar, int zakres)
{
int[] tab = new int[rozmiar];
for (int i = 0; i < rozmiar; i++)
{
tab[i] = los.Next(zakres) + 1;
}
return tab;
}
Wywołanie opisanej funkcji jest przypisane do zdarzenia Click przycisku button1
private void button1_Click(object sender, EventArgs e)
{
//odczytaj zakres losowego zbioru
z = Convert.ToInt16(textBox3.Text);
t1 = losoweElementyTablicy(ROZMIAR, z);
t2 = losoweElementyTablicy(ROZMIAR, z);
textBox1.Clear();
textBox2.Clear();
for (int i = 0; i < ROZMIAR; i++)
{
textBox1.AppendText(i.ToString() + ": " + t1[i].ToString() + Environment.NewLine);
textBox2.AppendText(i.ToString() + ": " + t2[i].ToString() + Environment.NewLine);
}
}
Skompiluj i uruchom program. Prawidłowo działająca aplikacja zwróci w kontrolkach TextBox kolejne losowe wartości utworzonych tablic

Krok 4. Wykonanie działań na wartościach z określonych indeksów
Odczyt wartości z określonego miejsca (indeksu) tablicy jest proste. Wymaga podania numeru indeksu. Należy zadbać o to, aby indeks nie przekroczył rozmiaru tablicy.
Poniżej przykład instrukcji przypisania wartości odczytanej z tablicy do zmiennej lokalnej
int a=tab[3];Wykonujemy działanie dodawania dla wybranych wartości odczytanych z tablic przypiszemy do zdarzenia Click przycisku button2
private void button2_Click(object sender, EventArgs e)
{
textBox4.Clear();
int id = Convert.ToInt16(textBox5.Text);
float wynik= t1[id] + t2[id];
textBox4.AppendText(t1[id].ToString()+"+"+t2[id].ToString()+"="+wynik.ToString());
}
Możemy również wykorzystać bardziej uniwersalne podejście dla większej ilości przycisków działań matematycznych. Proponowane rozwiązanie bazuje na rzutowaniu obiektu sender i rozpoznaniu rodzaju przycisku poprzez wartość pola Tag kontrolek Button
private void button2_Click(object sender, EventArgs e)
{
textBox4.Clear();
int id = Convert.ToInt16(textBox5.Text);
float wynik=0;
Button bt= sender as Button;
switch (bt.Tag)
{
case "+":wynik = t1[id] + t2[id];break;
case "-":wynik = t1[id] - t2[id];break;
}
textBox4.AppendText(t1[id].ToString()+bt.Tag+t2[id].ToString()+"="+wynik.ToString());
}
Skompiluj program i sprawdź efekt działania

Krok 5. Wykonanie działań na wszystkich elementach tablicy
Jednoczesne wykonanie działań na wszystkich elementach tablicy wymaga użycia pętli. Proponowany kod przedstawia dodawanie kolejnych elementów odczytanych równolegle z dwóch wcześniej utworzonych tablic. Wyniki kolejnych dodawań są wypisywane w kontrolce TextBox. Całość jest wywołana w zdarzeniu Click przycisku button4
private void button4_Click(object sender, EventArgs e)
{
textBox4.Clear();
for (int id = 0; id < ROZMIAR; id++)
{
int wynik = t1[id] + t2[id];
textBox4.AppendText(t1[id].ToString() + "+" + t2[id].ToString() + "=" + wynik.ToString() + Environment.NewLine);
}
}
Skompiluj i uruchom program. Prawidłowo działająca aplikacja zwróci kolejne sumy
![int[] visual studio c#](./../g-VS/p26-8.png)