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

[C] Przekazywanie dynamicznej tablicy do funkcji

Ostatnio zmodyfikowano 2014-12-09 22:40
Autor Wiadomość
Roofy5
Temat założony przez niniejszego użytkownika
[C] Przekazywanie dynamicznej tablicy do funkcji
» 2014-12-09 22:30:07
Witam!

Mam pewien problem - piszę teraz w C - chciałem napisać program w którym jedna procedura stworzy mi dwuwymiarową, dynamiczną tablicę, a następna funkcja będzie ją zapełniała wartościami:

C/C++
void stworzmape( int wymiarX, int wymiarY )
{
    int ** mapa =( int ** )( malloc( wymiarX * sizeof( int * ) ) );
   
    int i;
    for( i = 0; i < wymiarX; i++ )
    {
        mapa[ i ] =( int * )( malloc( wymiarY * sizeof( int ) ) );
    }
}

void losuj( int wymiarX, int wymiarY )
{
    int i, j;
    for( i = 0; i < wymiarX; i++ )
    for( j = 0; j < wymiarY; j++ )
    {
        mapa[ i ][ j ] = 0;
    }
}

Problem polega na tym, że nie wiem jak... no nie wiem... uczynić tą tablicę (mapa) obiektem globalnym - tak naprawdę on przed kompilacją nie istnieje i jest tworzony dopiero w main w trakcie programu, ale jak powiązać te funkcje tak, żeby funkcja losuj i wgl inne operacje w main wiedziały o istnieniu tej tablicy

Pozdr.
P-122609
darko202
» 2014-12-09 22:40:50
1. tworzysz tablicy dynamicznej dwuwymiarowej masz opisane np. w http://www.google.pl/url?sa=t​&rct=j&q=&esrc=s&source=web​&cd=4&sqi=2&ved=0CDMQFjAD​&url=http%3A%2F%2Furszula.libal​.staff.iiar.pwr.wroc.pl%2Fdocs​%2Fpo%2FTablice_dynamiczne.pdf​&ei=-GqHVLC8B47KaKvQgpgG​&usg=AFQjCNEY-JpOvxIkxCAcLEp8i​tH8ZlAFvQ​&bvm=bv.81449611,d.d24

2. przekazujesz do funkcji/procedury wskaźnik na tablicę i na tej tablicy działasz wewnątrz

3. musisz także przekazywać wymiary tej tablicy

przykład masz np.
http://www.matematyka.pl​/354709.htm
P-122610
« 1 »
  Strona 1 z 1