Liczba 4 narysowana z gwiazdek...

0

Witam. Mam napisać program rysujący z gwiazdek liczbę 4 o zadanej wysokośći np dla n=7.

 
   *
  **
 * *
****
   *
   *
   *

pomoże ktoś??

1
#include <iostream>
using namespace std;

int main()
  {
   for(unsigned size;cin>>size;cout<<endl) for(unsigned y=0;y<size;++y,cout<<endl) for(unsigned x=0;x<size;++x) cout<<" *"[(x+1==size)||(y==size>>1)||(x+(y<<1)+1==size)];
   return 0;
  }

http://ideone.com/EDnZIU

0

Da radę wytłumaczyć ten warunek?? [(x+1==size)||(y==size>>1)||(x+(y<<1)+1==size)];

Chciałem to zapisać w c# (widzę że źle napisałem tytuł) ale nie bardzo to umiem tam schować... Jakoś prościej to się da zapisać?

namespace Zad1
{
    class Program
    {
        public static void Wzorek(int n)
        {
            
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < n; j++)
                        Console.Write(" ");
                Console.WriteLine();
                for (i = 0; i < n; i++)
                    Console.Write("*")
                        [(i + 1 == n) || (j == n >> 1) || (i + (j << 1) + 1 == n)];
            }
        }
        static void Main(string[] args)
        {
            Wzorek(7);
            Console.WriteLine();
            Wzorek(8);
            Console.WriteLine();
            Console.Read();
        }
    }
} 

tak to nie bangla

1
mateo92 napisał(a):

Da radę wytłumaczyć ten warunek?? [(x+1==size)||(y==size>>1)||(x+(y<<1)+1==size)];
Pytaj konkretnie. Czego nie rozumiesz:

  1. == ?
  2. + ?
  3. << ?
  4. >> ?
  5. ||
0

Operatory rozumiem, tylko jak to wsadzić do mojego kodu?

1
  1. Zacznij od ustalenia jakiego języka się uczysz
  2. Dalej czytasz byle kurs aby przynajmniej mieć podstawy do rozumienia odpowiedzi
  3. Po przerobieniu poprzednich dwóch punktów będziesz w stanie przerabiać takie zadania bez pomocy.
0

można też coś takiego - kod w javie, ale raczej wszystko jasne

 
int size; // =wczytaj liczbę ;
		
		for (int x =0; x < size; x++){
			for (int y =0; y < size; y++){
				if ((y == size-1) || (x == size/2) || (y == size-(x*2 +1) && x < size/2))
				System.out.print('*'); //konsola drukuj *;
				else 
					System.out.print(" "); //konsola drukuj " ";
			}
			System.out.println(); //konsola drukuj nowa linia;
		}

rysowanie wzorków to niezłe ćwiczenie na zrozumienie pętli zagnieżdżonych - warto poświęcić trochę czasu na to bo prędzej czy później będziesz miał z tym do czynienia

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