Przekątna w kwadracie.
Ostatnio zmodyfikowano 2013-11-08 16:48
Thunderrock Temat założony przez niniejszego użytkownika |
Przekątna w kwadracie. » 2013-11-05 20:35:54 Cześć, mam problem ze stworzeniem odpowiedniej funkcji for która wyrysuje mi drugą przekątną w kwadracie. Wydaje mi się to trochę zawikłane ale zobaczcie sami: #include <iostream> using namespace std;
int main() { int bok; cin >> bok; for( int i = 1; i <= bok; i++ ) cout << "X"; for( int j = 1; j <= bok - 2; j++ ) { cout << endl << "X"; for( int k = 1; k <= bok - 3; k++ ) { if( j == k ) { cout << "X"; } cout << " "; } cout << "X"; } cout << "X" << endl; for( int l = 1; l <= bok; l++ ) { cout << "X"; } return 0; } Próbowałem z czymś takim: for( int h = bok; h >= bok + 1; bok-- ) { cout << "X"; } ale też nie wychodziło :/. Jakby ktoś przypadkiem znał odpowiedź to byłbym wdzięczny za pomoc. |
|
pekfos |
» 2013-11-05 21:15:26 Zmodyfikuj warunek w ifie. |
|
docentpp |
» 2013-11-05 23:50:40 Sama modyfikacja IFa, bez zmiany struktury programu,nic nie da. Wymyśliłem taką funkcję : void krzyz( int bok ) { int n = bok; for( int i = 1; i <= n; i++ ) cout << "X"; cout << endl; for( int i = 2; i <= n - 1; i++ ) { cout << "X"; for( int j = 2; j <= n - 1; j++ ) if(( i == j ) ||( j == n + 1 - i ) ) { cout << "X"; } else cout << " "; cout << "X" << endl; } for( int i = 1; i <= n; i++ ) cout << "X"; }
Przed jej wywołaniem w konsoli kursor tekstowy musi być w pozycji (1,1). |
|
Baabuseek |
» 2013-11-06 00:27:50 albo prościej: #include <iostream> using namespace std;
int main() { int bok; cin >> bok; cout << endl; for( int i = 1; i <= bok; i++ ) { for( int j = 1; j <= bok; j++ ) if( j == 1 || j == bok || i == 1 || i == bok || i == j || i == bok - j + 1 ) cout << 'X'; else cout << ' '; cout << endl; } return 0; } |
|
Thunderrock Temat założony przez niniejszego użytkownika |
» 2013-11-08 16:48:35 Wielkie dzięki za pomoc ;), Te rysowanie w c++ może być zdradliwe bez dokładnej znajomości kolejnych kroków i tego co tak naprawdę robi pętla. Temat chyba wyczerpany więc kliknę zamknij. Jeszcze raz dzięki :) |
|
« 1 » |