Witam
Zaczalem pisac w C++ jednak ten jezyk nie jest dla mnie do konca jasny. Sadzilem ze petle sa latwie i przyjemne dopóki nie znalazlem przykladowych zadan ze strony: http://www.cs.put.poznan.pl/arybarczyk/7.pdf. Pierwsze zadanie łatwe, bo wypisac 19 gwiazdek to dla mnie nic trudnego, drugie po pewnym czasie tez ogarnalem, ale na trzecim nie mam pojecia jak sie za to chwycic: Jego tresc jest nastepujaca:
Napisz program drukujący na ekranie prostokąt z literek X. Wysokość i szerokość prostokąta wczytujemy z klawiatury:
Staram się to ogarnac w glowie jak to dziala, jednak nie mysle jak komputer. Po jakims czasie znalazlem odpowiedz w internecie ale co mi z tego skoro nie mam pojecia co sie dzieje w kodzie.
- #include <iostream>
- #include <cstdlib>
-
- using namespace std;
-
- int main(int argc, char *argv[])
- {
-
- int i,j;
- int szerokosc,wysokosc;
-
- cout << "SZEROKOSC=";
- cin >> szerokosc;
-
- cout << "WYSOKOSC=";
- cin >> wysokosc;
-
- cout << endl;
-
- for (i=0;i<szerokosc;i++)
- cout << "X";
- cout << endl;
-
- for (j=0;j<wysokosc-2;j++)
- {
- cout << "X";
- for (i=0;i<szerokosc-2;i++)
- cout << " ";
-
- cout << "X";
- cout << endl;
- }
-
- for (i=0;i<szerokosc;i++)
- cout << "X";
- cout << endl;
-
-
-
- cout << endl;
- system("PAUSE");
- return 0;
- }
Pierwsza petla rozumiem co robi, wypisuje szerokosc X, ale kolejne? Jakim cudem pozostaje pusta przestrzen w srodku petli? I po co to -2 przy petli j?