Witam. Mam napisać program rysujący z gwiazdek liczbę 4 o zadanej wysokośći np dla n=7.
*
**
* *
****
*
*
*
pomoże ktoś??
Witam. Mam napisać program rysujący z gwiazdek liczbę 4 o zadanej wysokośći np dla n=7.
*
**
* *
****
*
*
*
pomoże ktoś??
#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;
}
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
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:
==
?+
?<<
?>>
?||
Operatory rozumiem, tylko jak to wsadzić do mojego kodu?
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