Начинающий проект на C++. Нужна помощь. Печать параллелограмма .
Привет, ребята . Начинающий кодер C++ здесь . У меня есть проект, чтобы принять определенное количество строк и напечатать параллелограмм с помощью петель . Кто-нибудь может помочь ??
Что я уже пробовал:
#include <iostream.h> int GetNRows(int &); int NumSpaces( int, int); int NumStars( int, int); void PrintChars( int, char); void DrawShape(int); int main() { int nRows, maxC, space, ast, n, row; char ch = ' '; for(int row = 1;row <= nRows;row++) //rows { if(row <= 1) { GetNRows( nRows ); } n = NumSpaces(nRows, row ); nRows = NumStars( nRows, row ); PrintChars( n, ch ); DrawShape( nRows ); } return 0; } int GetNRows( int &nRows ) { int maxC; cout << "Enter number of rows(3-23): " << flush; cin >> nRows; while(nRows < 3) { cout << "That is too few rows for me to make a parallelogram." << endl; cout << "Enter number of rows(3-23): " << flush; cin >> nRows; } while(nRows > 23) { cout << "That is too many rows for me to make a parallelogram." << endl; cout << "Enter number of rows(3-23): " << flush; cin >> nRows; } if(nRows % 2 == 0) { nRows++; } } int NumSpaces( int nRows, int row ) { int maxC = (nRows / 2), space; if(row <= maxC) { space = maxC - row; } else { space = 0; } return space; } int NumStars( int nRows, int row ) { int ast, maxC = (nRows / 2); if(row <= maxC) { ast = row; } else { ast = nRows - row; } cout << ast; return ast; } void PrintChars( int n, char ch ) { for(int s = 0; s < n; s++) { cout << ch; } } void DrawShape( int nRows ) { int ast; for(int a = 0; a < nRows; a++) { cout << '*'; } cout << '\n'; }
Не работает .
выход равен 1 *
Patrice T
"Не работает" не информативно.
Также покажите, что вы получаете и чего хотите.