Wyświetlanie ciągu znaków w co drugiej linijce

0

Siemanko
Znowy mam pytanko o pętlę.
Robiłam zadanie, w którym wynik ma wyglądać tak:

121212
212121
121212
212121

Napisałam kodzik który wyświetla wynik podany w zadaniu:

using System;

namespace Pętla0_3
{
  class Program
  {
    static void Main(string[] args)
    {
        for (int i = 0; i < 5; i++)
        {
            Console.Write("121212");
            Console.WriteLine();
            i+= 2;
            Console.Write("212121");
            Console.WriteLine();
        }
    }
  }
}

I teraz pytanie, czy można to napisać krócej/lepiej?

1

Proponuje skorzystać z modulo %.

for (int i = 0;i < 5;i++)
{
  if(i % 2 != 0)
    Console.WriteLine("121212")
  else
    Console.WriteLine("212121");
}
2

@AdamWox:

Sądzę, że twórcy zdania chodziło o coś innego, niż drukowanie dwóch długich stringów na zmianę. Widać w układzie pewną finezję, która prowadzący by (moim zdaniem) chciał zobaczyć

@Ślimak012:

Jak naprawdę brzmi zdanie ?

3

Chyba taki kod będzie bardziej konfigurowalny i zgodny z zamysłem autora zadania.

using System;

namespace Pętla0_3
{
  class Program
  {
    static void Main(string[] args)
    {
        for (int i = 0; i < 5; i++)
        {
        	for (int j = 0, m = i % 2; j < 6; j++)
        	{
            	Console.Write(m == 0 ? 1 + j % 2 : 2 - j % 2);
            }
            
            Console.WriteLine();
        }
    }
  }
}
1

Da się jeszcze krócej (⌐■_■)

Console.Write("121212\n212121\n121212\n212121");

Mały edit, jak w zadaniu trzeba użyć pętli to można:

for (var i=0;i++<1;)
  Console.Write("121212\n212121\n121212\n212121");
0
Veo napisał(a):

Da się jeszcze krócej (⌐■_■)

Console.Write("121212\n212121\n121212\n212121");

Tak, były tu projekty szachów, gdzie programista był "tak dobry" w szachowej algorytmice, że pusta szachownicę podobnie drukował

6
for (int i = 2; i <= 29; i++)
{
    Console.Write((i -1)  % 7 == 0 ? Environment.NewLine : (i % 2) + 1);
}
0

Sorki, że nie odpisałam wcześniej, treść zadania brzmiała: ,,Korzystając z wielokrotnej pętli for i instrukcji Console.Write, wyświetl w konsoli poniższe cztery wzory" gdzie do pierwszego już dałam pytanie wcześniej z wyświetleniem gwiazdek, drugie sama zrobiłam i właśnie tutaj dodałam trzecie

0
Ślimak012 napisał(a):

Korzystając z wielokrotnej pętli for i instrukcji Console.Write, wyświetl w konsoli poniższe cztery wzory"

I twierdzisz, ze "wielokrotna pętla" nie dała do myślenia ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1