Siemka, prosiłbym o pomoc ze zrobieniem tego zadanie, kompletnie nie wiem jak się za nie zabrać:
Narysuj rekurencyjnie literę C utworzoną z zadanych w argumencie funkcji znaków, np. ‘*’ o
zadanej wysokości i szerokości równej połowie wysokości.
0
1
Dla litery w tym stylu:
***
*
*
*
*
***
wystarczy trochę przerobić funkcję którą wcześniej dostałeś.
Dodaj tylko warunek aby przy level == 0
rysowała pierwszy wiersz (identyczny jak przy level == maxLevel
) a przy reszcie linii pojedynczy znak *
.
0
Delor napisał(a):
Dla litery w tym stylu:
*** * * * * ***
wystarczy trochę przerobić funkcję którą wcześniej dostałeś.
Dodaj tylko warunek aby przylevel == 0
rysowała pierwszy wiersz (identyczny jak przylevel == maxLevel
) a przy reszcie linii pojedynczy znak*
.
wiem że to może głupie pytanie ale, czy to jest dobrze zrobione rekurencyjnie? :
#include <iostream>
using namespace std;
int C(int wysokosc,int szerokosc,int r=1){
if(r==1){
for(int i=0; i<szerokosc; i++){
cout<<"*";
}
cout<<endl;
C(wysokosc, szerokosc, r+1);
}
else{
for(int i=1; i<=wysokosc; i++){
cout<<"*"<<endl;
}
}
if(r==1){
for(int i=0; i<szerokosc; i++){
cout<<"*";
}
}
}
int main()
{
int wysokosc;
cout<<"Podaj wysokosc: ";
cin>>wysokosc;
C(wysokosc,wysokosc/2);
return 0;
}
0
Najprościej się przekonać uruchamiając program. Wyświetla to co powinien?