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

Przypisywanie zmiennych do tablicy

Ostatnio zmodyfikowano 2013-10-28 18:50
Autor Wiadomość
medisses
Temat założony przez niniejszego użytkownika
Przypisywanie zmiennych do tablicy
» 2013-10-28 12:27:43
Witam! Mam problem z przypisaniem zmiennej do tablicy, a właściwie z wyświetleniem. do tablicy przypisuje liczby z przedziału od 0 do 9 a przy wyświetleniu wywala mi miliardy. Najlepiej ilustruje to odpalenie programu:

C/C++
#include <iostream>

using namespace std;

short unsigned int szach[ 4 ]; // szachowane pola

int zolnierze( int n, int ** tab, int k )
{
    unsigned int wyn[ n ];
    for( int i = 0; i < n; i++ )
    {
       
        if( szach[ i ] != 1 )
        {
            cout << "i: " << i << endl;
            cout << "k " << k << endl;
            wyn[ k ] = i;
            cout << "wyn " << k << "powinien wynosic: " << wyn[ k ] << endl;
            szach[ i ] = 1;
           
            if( k < n - 1 )
            {
               
                zolnierze( n, tab, k + 1 );
               
            }
            else
            {
                for( int j = 0; j < n; j++ )
                     cout << "wyn " << j << " : " << wyn[ j ] << endl;
               
                cout << endl;
            }
            szach[ i ] = 0;
        }
    }
}
int main()
{
    int n = 4;
   
    for( int i = 0; i < n; i++ )
         szach[ i ] = 0;
   
    int ** tab = new int *[ n ];
    for( int i = 0; i < n; i++ )
         tab[ i ] = new int[ n ];
   
   
    tab[ 0 ][ 0 ] = 5;
    tab[ 0 ][ 1 ] = 3;
    tab[ 0 ][ 2 ] = 2;
    tab[ 0 ][ 3 ] = 2;
   
    tab[ 1 ][ 0 ] = 1;
    tab[ 1 ][ 1 ] = 2;
    tab[ 1 ][ 2 ] = 3;
    tab[ 1 ][ 3 ] = 3;
   
    tab[ 2 ][ 0 ] = 2;
    tab[ 2 ][ 1 ] = 1;
    tab[ 2 ][ 2 ] = 8;
    tab[ 2 ][ 3 ] = 7;
   
    tab[ 3 ][ 0 ] = 3;
    tab[ 3 ][ 1 ] = 5;
    tab[ 3 ][ 2 ] = 3;
    tab[ 3 ][ 3 ] = 2;
   
    zolnierze( n, tab, 0 );
   
    for( int i = 0; i < n; i++ )
         delete[] tab[ n ];
   
    delete[] tab;
   
    return 0;
}
P-94706
pekfos
» 2013-10-28 18:50:15
C/C++
unsigned int wyn[ n ];
Nie możesz tak zrobić.
P-94730
« 1 »
  Strona 1 z 1