matematykaszkolna.pl
kwadrat w c++ monkey: próbuje stworzyć program, który będzie rysował figurę podobną do tego: *−−−* | | | | | | *−−−* tj. gwiazdka w krawędziach i po bokach − oraz | mój kod: #include <iostream> using namespace std; int main(){ int width=0,height=0; cout << "width, height: "; cin >> width >> height; for(int y=0; y<height; y++){ for(int x=0; x<width; x++){ if( (y==0 && x==0) || (y=height−1 && x==0) || (y==0 && x==width−1) || (y=height−1 && x==width−1)){ cout << "*"; } else if( (y==0 && x>0 && x<width−1) || (y==height−1 && x>0 && x<width−1)){ cout << "−"; } else if( (y>0 && y<height−1 && x==0) || (y>0 && y<height−1 && x==width−1)){ cout << "|"; } else{ cout << " "; } } cout << endl; } }
10 paź 19:43
monkey: wydaje mi się, że nie iteruje się 1. pętla, ale nie potrafie tego naprawic
10 paź 19:47
monkey: sprawdziłem i faktycznie nie interuje się y, ktos potrafi to wyjasnic?
10 paź 19:58
monkey: nie iteruje*
10 paź 19:58
jc: Trochę zmieniłem i działa. #include<iostream> using namespace std; int main(){ int width=0,height=0; cout << "width, height: "; cin >> width >> height; cout << '*'; for(int x = 2; x < width; x++) cout << '−'; cout << '*' << endl; for(int y=2; y < height; y++){ cout << '|'; for(int x=2; x < width; x++) cout << ' '; cout << '|' << endl; } cout << '*'; for(int x = 2; x < width; x++) cout << '−'; cout << '*' << endl; }
10 paź 20:15
monkey: a widzisz moze co jest nie tak w moim kodzie?
10 paź 21:25
jc: Zamień y=height−1 na y==height−1
10 paź 21:36
jc: Przynajmniej się zatrzymuje ...
10 paź 21:38
monkey: nawet nie wiesz jak bardzo jestem Ci wdzieczny siedziałem nad tym kodem jakies 2h
10 paź 21:45
monkey: a wystarczyło tylko w 2. miejsach zamienic = na ==
10 paź 22:00
monkey: a mialbys moze pomysł jak cos dorzucić do kodu, aby dodatkowo rysowana była przekątna?
10 paź 23:23
Krzysiek: nie znam się na programowaniu, ale chyba wystarczy sprawdzac wartość pętli nadrzędnej w podrzędnej , i gdy są takie same rysować slasha
10 paź 23:38
monkey: pomysl dobry doputy figura jest kwadrat
10 paź 23:44
Dziadek Mróz: oblicz współrzędne punktów przez jakie przechodzi przekątna i na nich ją rysuj
11 paź 01:59
jc: Poniższy program rysuje przekątną. #include<iostream> using namespace std; int main(){ int width=0,height=0; cout << "width, height: "; cin >> width >> height; cout << '*'; for(int x = 2; x < width; x++) cout << '−'; cout << '*' << endl; for(int y=2; y < height; y++){ cout << '|'; int x = 2; for(; x*height < width*y; x++) cout << ' '; if(x < width) {cout << '*'; x++;} for(; x < width; x++) cout << ' '; cout << '|' << endl; } cout << '*'; for(int x = 2; x < width; x++) cout << '−'; cout << '*' << endl; }
11 paź 13:25
monkey: dzieki emotka
11 paź 17:01