Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Drukowanie tablicy stringów

Ostatnio zmodyfikowano 2013-12-17 19:40
Autor Wiadomość
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ć.

C/C++
#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++ ) //obwodka
    {
        for( j = 0; j < a; j++ )
        {
            tab[ i ][ j ] = "X";
        }
    }
   
    for( i = 1; i < a - 1; i++ ) //srodek
    {
        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 ] ); // jak to zrobić ???
        }
       
        cout << endl;
    }
   
   
}
P-99486
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()
P-99488
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 ?
P-99490
pekfos
» 2013-12-17 19:29:58
Zrób większą i używaj części, zaalokuj macierz dynamicznie, lub użyj std::vector<>.
P-99491
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 : )
P-99494
pekfos
» 2013-12-17 19:36:23
tab[ i ][ j ].c_str()
P-99496
Monika90
» 2013-12-17 19:37:12
C/C++
std::string str = "abcd";
std::printf( "%s", str.c_str() );
P-99498
Szymix
Temat założony przez niniejszego użytkownika
» 2013-12-17 19:40:20
Ok, poradziłem sobie trochę inaczej dzięki ;)
P-99499
« 1 »
  Strona 1 z 1