Niezrozumiały error przy probie kompilacji podczas zadania domowego z tematu 21.
Ostatnio zmodyfikowano 2019-03-03 23:02
Szynek Temat założony przez niniejszego użytkownika |
Niezrozumiały error przy probie kompilacji podczas zadania domowego z tematu 21. » 2019-03-03 02:10:20 Robiłem zadanie domowe z lekcji 21. Probowałem dojść dlaczego kompilator pokazuje ten błąd, ale mimo moich starań nie mogę zrozumieć (komunikat dodany jako komentarz przy linijce, w której występuje). Myślę, że poradzę sobie z naprawieniem błędów w działaniu programu, jeżeli takie są, ale za pomoc w tej kwestii też byłbym wdzięczny. #include <iostream> #include <cstdlib> #include <ctime>
int wczytywanie( int a, int b, int c ) { std::cout << "podaj a "; std::cin >> a; std::cout << "podaj b "; std::cin >> b; std::cout << "podaj c ";, std::cin >> c; return 0; } int losowanie( int licznik, int wylosowana ) { int a; int b; int c; wczytywanie( a, b, c ); srand( time( 0 ) ); wylosowana =( rand() % 3 ) + 1; if( wylosowana == 1 ) return a; if( wylosowana == 2 ) return b; if( wylosowana == 3 ) return c; }
bool czyBylaWylosowana( int iLiczba, int tab[], int ile ) { if( ile <= 0 ) return false; int i = 0; do { if( tab[ i ] == iLiczba ) return true; i++; } while( i < ile ); return false; }
int main() { int wylosowana; int ilosc; losowanie( ilosc, wylosowana ); int wylosowane[ 2 ]; int wylosowanych = 0; int liczba; if( czyBylaWylosowana( wylosowane, liczba[], wylosowanych ) == false ) do { std::cout << liczba << std::endl; wylosowanych++; } while( wylosowanych < 2 ); }
|
|
nanoant20 |
» 2019-03-03 09:26:49 std::cout << "podaj c ";,
zbyteczny przecinek int losowanie( int licznik, int wylosowana )
prawdopodobnie masz tam warning 'Przykład niebezpiecznej funkcji' http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-a-slowo-kluczowe-return/339 int wylosowane[ 2 ]; int wylosowanych = 0; int liczba;
if( czyBylaWylosowana( wylosowane, liczba[], wylosowanych ) == false )
oczekuje tablicy, której nie przekazujesz przyjrzyj się dokładnie jakie masz zmienne i jakie argumenty przekazujesz do funkcji u ciebie "int liczba" jest zmienną całkowitą typu int a nie tablicą, @EDIT w treści zadania jest "Napisz program, który wczyta 3 liczby podane przez użytkownika do tablicy" int wczytywanie( int a, int b, int c )
zamiast tych zmiennych powinieneś przekazać tablicę i w ciele funkcji zastosować pętelkę i wczytywać dane podane przez użytkownika do tablicy, tak jak jest to w kursie http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Przekazywanie-tablic-jednowymiarowych-do-funkcji/324 przeanalizuj cały kod rozłóż na czynniki pierwsze (na funkcje); sprawdź czy funkcja zachowuje się tak jak tego oczekujesz; i dopiero poskładaj w całość |
|
YooSy |
» 2019-03-03 13:03:22 Niezrozumiały error przy probie kompilacji |
Jak brzmi ten błąd. Na przyszłość, gdy mówisz o błędzie, podaj jego treść. |
|
pekfos |
» 2019-03-03 23:02:57 Niezrozumiały error przy probie kompilacji |
if( czyBylaWylosowana( wylosowane, liczba[], wylosowanych ) == false )
|
Bez przesady, że zaraz niezrozumiały. Nie musisz wiedzieć, co znaczy "primary-expression", ważne że oczekiwano czegoś przed znakiem ], a więc nie możesz w tym kontekście napisać pustych nawiasów kwadratowych. Więc zapewne nie tak powinno wyglądać przekazanie tablicy do funkcji. |
|
« 1 » |