ďťż
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 |
chomikiMam 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]) { |
||||
Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl. | |||||