Drukowanie tablicy stringów
Ostatnio zmodyfikowano 2013-12-17 19:40
Szymix Temat założony przez niniejszego użytkownika |
Drukowanie tablicy stringów » 2013-12-17 19:24:02 Witam, mam mały problem, potrzebuję wydrukować poniższą tablicę, lecz za pomocą funkcji printf, z cout wszystko śmiga, lecz nie mogę jej tu użyć. #include <iostream> #include <cstdio> #include <string.h>
using namespace std;
int main() { int i, j, a; scanf( "%d", & a ); cout << endl; string tab[ a ][ a ]; for( i = 0; i < a; i++ ) { for( j = 0; j < a; j++ ) { tab[ i ][ j ] = "X"; } } for( i = 1; i < a - 1; i++ ) { for( j = 1; j < a - 1; j++ ) { tab[ i ][ j ] = "*"; } } for( i = 0; i < a; i++ ) { for( j = 0; j < a; j++ ) { printf( "%s", tab[ i ][ j ] ); } cout << endl; } }
|
|
Monika90 |
» 2013-12-17 19:26:35 1. Brakuje ci #include <string> 2. Rozmiar tablicy w C++ musi być znany w czasie kompilacji, czyli nie może być okreslony za pomocą zmiennej a 3. Do drukowania stringa za pomocą printf użyj c_str() |
|
Szymix Temat założony przez niniejszego użytkownika |
» 2013-12-17 19:28:53 W zadaniu to użytkownik podaje wielkość "macierzy" więc jak tu nie używać zmiennej ? |
|
pekfos |
» 2013-12-17 19:29:58 Zrób większą i używaj części, zaalokuj macierz dynamicznie, lub użyj std::vector<>. |
|
Szymix Temat założony przez niniejszego użytkownika |
» 2013-12-17 19:33:21 Ok, a jak dokładnie użyć c_str() ? Jeszcze się z tym nie spotkałem : ) |
|
pekfos |
» 2013-12-17 19:36:23 |
|
Monika90 |
» 2013-12-17 19:37:12 std::string str = "abcd"; std::printf( "%s", str.c_str() );
|
|
Szymix Temat założony przez niniejszego użytkownika |
» 2013-12-17 19:40:20 Ok, poradziłem sobie trochę inaczej dzięki ;) |
|
« 1 » |