rysowanie kwadratu- sprawdzenie kodu

0

Posługując się źródłami internetowymi wysmarowałem coś takiego:

#include <iostream>
using namespace std;
int main()
{
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++)
            cout << "*"
    }
    cout << endl;

    return 0;
}
}

Po kompilacji i uruchomieniu nie wyświetla się kwadrat o boku 4 tylko linijka 16 gwiazdek. Gdzie popełniam błąd? Z góry dziękuję za pomoc. Pozdrawiam Krzysztof :)

0

I ta kompilacja przebiega poprawnie? Bez błędów?

1

Klamry. Choć mam wątpliwość, czy ten kod bez średnika się skompilował.
Poprawny kod może wyglądać tak:

for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++)
        cout << "*";
    cout << endl;
}

lub tak, jeśli dla wewnętrznej pętli też zastosujesz klamry:

for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
        cout << "*";
    }
    cout << endl;
}

Obecnie, Twój kod:

for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++)
        cout << "*";//<-- tu brakowało średnika
}
cout << endl;

ma nową linię wyłącznie po wykonaniu '*' 16 razy (4 przebiegi i i 4 przebiegi j).

0

Kompilacja w code:: blocks przebiega bez błędów. W kompilatorze on line to samo. średnik rzeczywiście przeoczyłem ale w wersji kompilowanej już jest.
Dziękuję wszystkim za poświęcony czas a @zagura za rozwiązanie problemu.
Pozdrawiam Krzysztof :)

0

Problem został rozwiązany, jednak meczy mnie jedna kwestia:
skąd wzięło się 16 razy? Jeśli 4 przebiegi i oraz 4 przebiegi j to dlaczego nie 8 razy. 8 "*" w szeregu.

Obecnie, Twój kod:

for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++)
cout << "*";//<-- tu brakowało średnika
}
cout << endl;

ma nową linię wyłącznie po wykonaniu '*' 16 razy (4 przebiegi i i 4 przebiegi j).

0

Kurcze pieczone, co tak kominujecie metodą "czary". Proszę kliknąć fajeczkę


for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++)
           cout << "*";
    cout << endl;
}
0
#include <iostream>
using namespace std;
 
int main() 
{
	for(int i=0;i<4*(4+1);++i) cout<<"\n*"[i%(4+1)<4];
	return 0;
}

https://ideone.com/ldPy5D

#include <iostream>
using namespace std;
 
int main() 
{
	for(int y=0;y<4;++y,cout<<endl) for(int x=0;x<4;++x) cout<<"*";
	return 0;
}

https://ideone.com/x1Ypdu

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.