Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Pozycja znaku w łańcuchu znaków. Visual Studio C#

Łańcuch znaków w języku C# jest reprezentowany przez typ string. Kolejne znaki tak przechowywane, mają tak zwany indeks odpowiadający pozycji znaku w danym łańcuchu. Typ string (konkretnie klasa String) ma kilka zaimplementowanych metod, na przykład zmianę wystąpień podciągu znaków Replace, usunięcie ilości znaków począwszy od zadanej pozycji - Remove i wiele innych. Nie ma zaimplementowanej metody podmiany pojedynczego znaku z podanej pozycji.

Cel :Napisz funkcję, która pokaż znak z zadanej pozycji oraz funkcję, która podmieni znak z wybranej pozycji w zadanym łańcuchu znaków.

klasa string visual studio c#

Krok 1. Układ komponentów

  • GroupBox- sztuk 1
  • TextBox- sztuk 3
  • Label- sztuk 3
  • Button- sztuk 2

Proponowane ułożenie komponentów przedstawia poniższa ilustracja

ułożenie komponentów visual studio c#

Krok 2. Funkcja pokazująca znak z zadanej pozycji

Funkcja będzie o dwóch argumentach. Pierwszy, to tekst źródłowy, drugi, to zadana pozycja. Funkcja będzie zwracać typ znakowy char. Proponowany kod funkcji:


char pokazZnak_z_Pozycji(string tekst,int id)
{
char z =(char)0;//przypisz znak pusty
z = tekst[id];//odczytaj znak z pozycji id
return z;
}

Krok 3. Odczytujemy znak z zadanej pozycji

Wywołanie powyższej funkcji przeprowadzimy w zdarzeniu Click przycisku button1

private void button1_Click(object sender, EventArgs e)
{
int i = Convert.ToInt16(textBox2.Text);
label3.Text = pokazZnak_z_Pozycji(textBox1.Text, i).ToString();
}

Skompiluj program i sprawdź efekt działania. Prawidłowo działająca na tym etapie aplikacja zachowuje się jak poniżej

Skompiluj program i sprawdź efekt działania visual studio c#

Krok 4. Funkcja podmieniająca znak na zadanej pozycji

Funkcję zrealizujemy przy pomocy pętli for. Funkcja będzie o trzech argumentach. Pierwszy, to ciąg znaków źródłowych. Drugi argument, to nowy znak. Trzeci argument, to pozycja. Funkcja będzie zwracać typ łańcuchowy- nowy zmieniony łańcuch znaków. Proponowany kod ma postać:


string zmienZnak(string zrodlo,char znak,int poz)
{
string sNowy = "";
for (int i = 0; i < zrodlo.Length; i++)
{
char z = zrodlo[i];
if (i == poz) z = znak;
sNowy += z.ToString();
}
return sNowy;
}

Krok 5. Podmieniamy znak na zadanej pozycji

Utworzoną funkcję wywołamy w zdarzeniu Click przycisku button2

private void button2_Click(object sender, EventArgs e)
{
int poz = Convert.ToInt16(textBox2.Text);
label3.Text = zmienZnak(textBox1.Text, textBox3.Text[0],poz);
}

Skompiluj program i sprawdź efekt działania. Prawidłowo działająca na tym etapie aplikacja zachowuje się jak poniżej

visual studio c# button2_click

Dobra książka

Zobacz przepis na wyśmienite gofry