venn [ Junior ]
[c++] problem z zagnieżdzonymi pętlami for.
Potrzebuje szybkiej pomocy wiec zglosze sie rowniesz tutaj:
Jestem początkującym programistą i mimo ambicji nie mogę sobie poradzić z zagadnieniem dotyczącym zagnieżdżonej pętli for.
Mam napisać prosty program rysujący kwadrat o boku n z zakresu 1 - 20. O ile to zadanie wydaje się proste, to już wnętrze kwadratu wypełnione std::cout << " "; sprawia mi kłopot.
Do końca nie rozumiem też swojej własnej metody w rysowaniu wzorkiem kwadratu z wypełnieniem. Czy ktoś z Was mógłby być tak miły i krok po kroku wyjaśnić laikowi model postępowania ?
Pozdrawiam serdecznie,
A.
Mój program który ort! rysuje wypełniony kwadrat (docelowo ma być pusty w środku):
<spoiler>
#include <iostream>
#include <conio.h>
using namespace std;
int main () ‹
int x;
cout << "Wprowadz liczbe calkowita z zakresu 1-20: ";
cin >> x;
if ( x < 1 && x > 20 ) ‹
cout << "Koniec programu"; ›
else
‹
for ( int i = 1; i <= x; i++) ‹
for ( int j = 1; j <= x; j++ ) ‹
cout << "*";
›
cout << endl;
›
›
getch();
return 0;
›
</spoiler>
wysiu [ ]
Blah, co ja wygaduje.
Ok. zaraz sie poprawie.
venn [ Junior ]
Forum słabo wyświetla kod cpp. Wysiu, docelowo to ma wygladac w ten sposob:
np dla x = 5:
xxxxx
x x
x x
x x
xxxxx
No to teraz ignoruje mi spacje. Mam nadzieję, że wiesz o co chodzi. Narazie to wyświetla wypełniony kwadrat.
TeadyBeeR [ Legend ]
Musisz dodac dodatkowo if'y zeby sprawdzac czy i lub j nie rownaja sie 1 lub 20. Jezeli nie sa rowne 1 lub 20, to zamiast '*' trzeba wstawiac spacje ' '.
Daro2k [ Pretorianin ]
Wystarczy jeden prosty warunek if(...)
Tak to powinno wyglądać (linie 16--19):
wysiu [ ]
A, no rozumiem (sorry, ostatnio c++ ruszalem na studiach, skladnie zapomnialem).
Teraz prawidlowo wyswietla wypelniony kwadrat, prawda?
Do zrobienia niewypelnionego potrzebujesz
gdy i = 1 lub j = 1 lub i = x lub j = x
rysowac "*" (czyli na pierwszej i ostatniej poziomej i pionowej kresce).
W pozostalych przypadkach
rysowac " ".
I przeskok do nastepnej linii, tak jak jest.
venn [ Junior ]
Dzięki Wam wszystkim