Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2018-05-21, 09:37
  #1
Medlem
ichessys avatar
Hej alla Flashbackare. Är det möjligt att skriva ett simpelt konsolprogram i C# där man kan mata ut följande värde i stjärnor beroende på den input användaren matar in i konsolen?
Kod:
Fylld kvadrat

Tex om användaren matar in värdet 1   =>  

*

Tex om användaren matar in värdet 2   =>  

**
**
 
Tex om användaren matar in värdet 3     => 

***
***
***

osv...

Har nämligen letat på internet efter exempel, men inte hittat ngt.
__________________
Senast redigerad av ichessy 2018-05-21 kl. 10:05.
Citera
2018-05-21, 09:49
  #2
Medlem
kodsnickrarns avatar
Självklart.

Kod:
Läs in antalet i en variabel
Eventuell kontroll av att inläst värde är "vettigt" (t.ex. >1 och inte en bokstav)
Loopa från 1 till antalet i en yttre loop
  Loopa från 1 till antalet i en inre loop
    Skriv ut en '*'
  Slut inre loop
  Skriv ut radbrytning
Slut yttre loop


/K
Citera
2018-05-21, 10:08
  #3
Medlem
ichessys avatar
Citat:
Ursprungligen postat av kodsnickrarn
Självklart.

Kod:
Läs in antalet i en variabel
Eventuell kontroll av att inläst värde är "vettigt" (t.ex. >1 och inte en bokstav)
Loopa från 1 till antalet i en yttre loop
  Loopa från 1 till antalet i en inre loop
    Skriv ut en '*'
  Slut inre loop
  Skriv ut radbrytning
Slut yttre loop


/K

Finns det möjligtvis något kodexempel på det?
Citera
2018-05-21, 10:17
  #4
Medlem
kodsnickrarns avatar
Du vill ha färdig kod att kopiera?
Varför då, är det inte en skoluppgift?

/K
Citera
2018-05-21, 10:41
  #5
Medlem
ichessys avatar
Citat:
Ursprungligen postat av kodsnickrarn
Du vill ha färdig kod att kopiera?
Varför då, är det inte en skoluppgift?

/K

Nej, det är ingen skoluppgift. Jag letade bara efter ett kodexempel på det, av ren nyfikenhet.
Citera
2018-05-21, 11:06
  #6
Medlem
kodsnickrarns avatar
Fritt ur huvet, har inte testat.

Kod:
Console.Write("Hur stor kvadrat vill du ha? ");
int size = Convert.ToInt32(Console.ReadLine());

for(int y=0;y<size; y++) {
  for(int x=0; x<size; x++) {
    Console.Write("*");
  }
  Console.WriteLine("");
}
Citera
2018-05-21, 11:08
  #7
Medlem
askers avatar
Citat:
Ursprungligen postat av ichessy
Nej, det är ingen skoluppgift. Jag letade bara efter ett kodexempel på det, av ren nyfikenhet.
Vilken del är det du har problem med? Du behöver kunna For-loopar, Utskrift till konsoll och inläsning från tangentbord. Allt detta hittar du exempel och tutorials på om du Googlar. Du kan inte förvänta dig att hitta EXAKT det program du är ute efter som exempel. Här måste du själv använda skallen.
Citera
2018-05-21, 11:22
  #8
Avstängd
Kod:
int userInput = STDIN<>;

if(userInput == "1") {
messageBox.Show("*");
} else if(userInput == "2") {
messageBox.Show("**\n**");
} else if(userInput == "3") {
messageBox.Show("***/n***/n***");
}

Var det så jävla svårt????
Citera
2018-05-21, 11:49
  #9
Medlem
Kod:
var starAmount = Convert.ToInt32(Console.ReadLine());
var stars = "";
for (var i = starAmount; i > 0; i--) stars += "*";
for (var i = 0; i < starAmount; i++) Console.WriteLine(stars);
Citera
2018-05-21, 12:20
  #10
Medlem
Man kan också tänka sig något sådant här:

Kod:
  for( int i = 0; i < numberOfStars; i++ ) {
      Console.WriteLine( String.Concat( Enumerable.Repeat( "* ", numberOfStars ) ) );
  }
Citera
2018-05-21, 12:26
  #11
Medlem
kodsnickrarns avatar
Eller såhär:

Kod:
Console.Write("Hur stor kvadrat vill du ha? ");
int size = Convert.ToInt32(Console.ReadLine());

var s = new String('*', size*size);
Console.Write(String.Join("\n", Enumerable.Range(0, s.Length / size).Select(i => s.Substring(i * size, size))));

/K
Citera
2018-05-21, 12:30
  #12
Medlem
ichessys avatar
Citat:
Ursprungligen postat av kodsnickrarn
Fritt ur huvet, har inte testat.

Kod:
Console.Write("Hur stor kvadrat vill du ha? ");
int size = Convert.ToInt32(Console.ReadLine());

for(int y=0;y<size; y++) {
  for(int x=0; x<size; x++) {
    Console.Write("*");
  }
  Console.WriteLine("");
}


Tack för exemplet.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback