Witam
Treść zadania:
Napisz program rysujący na ekranie za pomocą podanego znaku trójkąt o zadanej przez
użytkownika długości podstawy.
Efet ma wyglądać tak: także nie trójkąt prostokątny tylko równoboczny.
Oficialnie na pierwszych 2 wykładach nie było słowa o obiektach, klasach, metodach tym bardziej statycznych - ani o polach. Oficialnie do tej pory zostały wprowadzone tylko operatory, pętle, warunki i wywołanie rekurencyjne. (słowo kluczowe static, void, Main na razie istnieje bo istnieje bo "to bedzie pozniej")
Rozwiązać to zadanie umiem tylko z wykorzystaniem pola statycznego, czy istnieje rozwiązanie nie używające pola statycznego?
Moje roziązanie poniżej.
class Program
{
static int licznikRekurencji = 0;
static void RysowanieLinii(int dlugosc, char znak)
{
licznikRekurencji++;
int liczbaSpacji = licznikRekurencji;
if ((dlugosc - 2)>0)
{
RysowanieLinii(dlugosc - 2, znak);
}
while (liczbaSpacji > 0)
{
Console.Write(" ");
liczbaSpacji--;
}
for (int i = 0; i < dlugosc; i++)
{
Console.Write(znak);
}
Console.Write("\n");
}
static void Main(string[] args)
{
Console.WriteLine("Podaj jeden znak z jakiego ma być rysowany trójkąt,");
Console.WriteLine("wybór zatwierdź enterem.");
char znak = char.Parse(Console.ReadLine());
Console.WriteLine("Podaj długość podstawy trojkata: ");
int dlugoscPodstawy = int.Parse(Console.ReadLine());
RysowanieLinii(dlugoscPodstawy, znak);
Console.ReadLine();
}
}