magick200 Temat założony przez niniejszego użytkownika |
Drukowanie "przewróconej" tablicy » 2016-03-06 23:40:20 Cześć
Potrzebuję pomocy z wydrukowaniem tablicy w taki oto sposób
https://imgur.com/T5ngUct
Czy ktoś ma może pomysł jak sobie z tym poradzić? |
|
darko202 |
» 2016-03-07 10:53:03 chcesz to wydrukować znakowo czy graficznie ?
znakowo byłoby jakoś tak _ _ _ _ _ _ _ 0 _ 0 _ _ _ _ _ _ _ _ _ _ _ _ _ 1 _ x _ 1 _ _ _ _ _ _ _ _ _ _ _ 2 _ x _ x _ 2 _ _ _ _ _ .... .... _ _ _ _ _ 2 _ x _ x _ 2 _ _ _ _ _ _ _ _ _ _ _ 1 _ x _ 1 _ _ _ _ _ _ _ _ _ _ _ _ _ 0 _ 0 _ _ _ _ _ _ _ itd.
jak widać jest to tablic. "_" - puse miejsca - zaznaczyłem aby pokazać ideę
graficznie musi być podobnie, choć zależy jak chcesz rysować np. linie |
|
mokrowski |
» 2016-03-07 12:13:50 #include <vector> #include <iostream> #include <iomanip>
using namespace std;
using VecTbl_t = vector < vector < int >>;
constexpr static size_t value_width = 4;
void show_diagonal( const VecTbl_t & tbl, size_t row, size_t rows ) { for( size_t i = rows - row; i > 1; --i ) { cout << setw( value_width ) << left << ""; } for( size_t index = 0; index <= row; ++index ) { cout << setw( value_width ) << left << tbl[ index ][ index ]; cout << setw( value_width ) << left << ""; } cout << endl; }
void diamond_vector( const VecTbl_t & tbl ) { const size_t rows = tbl.size(); for( size_t row = 0; row < rows; ++row ) { show_diagonal( tbl, row, rows ); } for( size_t row = rows; row > 1; --row ) { show_diagonal( tbl, row - 2, rows ); } }
int main() { VecTbl_t my_vec = { { 0, 1, 2, 3 }, { 0, 10, 20, 30 }, { 0, 100, 200, 300 }, { 0, 1000, 2000, 3000 } }; diamond_vector( my_vec ); }
Smacznego :-) Kompilować w trybie zgodności z C++11 choć nie szalałem z nowymi właściwościami (bodajże inicjalizacja i using zamiast typedef a i no constexpr...). |
|
mateczek |
» 2016-03-07 14:55:33 #include <iostream>
using namespace std; int main() { char tablica[ 5 ][ 5 ] = { { 'a', 'b', 'c', 'd', 'e' }, { 'a', 'b', 'c', 'd', 'e' }, { 'a', 'b', 'c', 'd', 'e' }, { 'a', 'b', 'c', 'd', 'e' }, { 'a', 'b', 'c', 'd', 'e' } }; char nowa[ 9 ][ 9 ]; for( int i = 0; i < 9; i++ ) { for( int k = 0; k < 9; k++ ) { nowa[ i ][ k ] = ' '; } } for( int w = 0; w < 5; w++ ) { for( int k = 0; k < 5; k++ ) { nowa[ w + k ][ k ] = tablica[ w ][ k ]; } } for( int i = 0; i < 9; i++ ) { for( int k = 0; k < 9; k++ ) { cout << nowa[ i ][ k ]; } cout << endl; } } |
|
« 1 » |