ďťż
chomiki
[Dynamic Script Forum] Funkcje skryptu forum
objasnienia do kontrolek tablicy rozdzielczej w peugoet 405
[c/c++] operator new i tablica wskaźników
Nie świeci Podświetlenie Tablicy rozdzielczej
Podświetlenie tablicy rejestracyjnej
tablica rejestracyjna
Oświetlenie tablicy
Podświetlenie tablicy!
[PHP]Funkcja pobierająca źródło zewnętrznej strony
[PHP] Testy szybkości funkcji i instrukcji
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • therasmus.pev.pl

  • chomiki

    Mam problem z przesyłaniem wskaźnika do funkcji, ale ten wskaźnik wskazuje na tablice 2 wymiarową. Przedstawiam wam kod całego programu (bo nie jest jeszcze taki duży ). Prosze nie zwracać uwagi na te dodatkowe pętle i zmienne. Chodzi tylko o to przesłanie tablicy bool do funkcji, ale że nie wiem co wyrzucić to dałwm wszysko .
    #include <iostream>
    #include <cstdlib>

    #define MAX_X 9
    #define MAX_Y 9
    const ilosc_min=10;

    using namespace std;
    //////////////////////////////////////////////////
    int sprawdz(int, int, bool /*nie wiem co tu wpisać!!!, mój typ to &*/); //***
    //////////////////////////////////////////////////
    main (){
        srand(time(NULL));
        bool tablica[MAX_X][MAX_Y];
        for (int i=0;i<MAX_X;i++){
            for (int j=0;j<MAX_Y;j++){
                tablica[i][j]=0;
            }
        }
       
        for (int i=0;i<ilosc_min;i++){
            tablica[rand()%MAX_X][rand()%MAX_Y]=1;
        }

        sprawdz(rand()%MAX_X,rand()%MAX_Y, tablica); //***; tu też jest błąd, chodzi o 3 argument
       
       
        system("pause");
        return 0;
    }
    /////////////////////////////////////////////////
    int sprawdz(int x, int y, bool /*nie wiem co tu wpisać!!!, mój typ to &tab*/){ //***
        int wartosc;
        if (tab[x][y]){
            cout << "przegrales!!";
        }
        else {
            cout <<"gramy dalej";
           
            if (tab[x+1][y]) wartosc+=1;
            /*if (tab[x+1][y+1]) wartosc+=1; //ten komentarz jest zbędny
            if (tab[x][y+1]) wartosc+=1;
            if (tab[x-1][y+1]) wartosc+=1;
            if (tab[x-1][y]) wartosc+=1;
            if (tab[x-1][y-1]) wartosc+=1;
            if (tab[x][y-1]) wartosc+=1;
            if (tab[x+1][y-1]) wartosc+=1;*/ //ten też
        }
        return wartosc;
    }
    Ten kod jest troche zamotany, ale mi chodzi głównie o linie oznaczone ***. Czyli jak powinny wyglądać te linie:

    int sprawdz(int, int, bool /* ... */); //definicja
    int sprawdz(int x, int y, bool /* ... */){ //deklaracja


    PS: o wiele czytelniejszy w jakim edytorze z kolorowaniem składni
    PS2: Początek sapera tekstowego...


    tu masz fajnie wytłumaczone jak co i jak
    http://home.agh.edu.pl/~p...do%20funkcji%22

    Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
    temp.cpp:
    Error E2034 temp.cpp 27: Cannot convert 'bool ( *)[9]' to 'bool * ( *)[9]' in function main()
    Error E2342 temp.cpp 27: Type mismatch in parameter 'tab' (wanted 'bool * ( *)[9]', got 'bool ( *)[9]') in function main()
    *** 2 errors in Compile ***
    błędy dla linijek tak zrobionych
    int sprawdz(int, int, bool *tab[][9]);
    int sprawdz(int x, int y, bool *tab[][9]){
    Asdef, to co mi dałeś to tak pobierznie o wskaźnikach opisuje. Ale tam prawie nic nie ma o przesyłaniu tablic dwuwymiarowych (jedno ćwiczenie bez rozwiązania)

    PS: Szkoda, że książke o c++ koledze pożyczyłem .
    IMHO powinno być:

    int sprawdz(int, int, bool tab[][9]);
    int sprawdz(int x, int y, bool tab[][9]) {

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mandragora32.opx.pl
  • ďťż
    Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl.