nikgreek123 Δημοσ. 12 Ιανουαρίου 2017 Δημοσ. 12 Ιανουαρίου 2017 καλημερα εχω τον παρακατω κωδικα και με βγαζει σφαλμα "line 44 error: expected primary-expression before ']' token" #include <iostream> #include <cstdio> #include <ctime> #include <cstdlib> using namespace std; bool Linear_search ( int *list, int size, int key, int*& rec ); bool Linear_search ( int *list, int size, int key, int*& rec ) { // Basic sequential search bool found = false; int i; for ( i = 0; i < size; i++ ) { if ( key == list[i] ) break; } if ( i < size ) { found = true; rec = &list[i]; } return found; } int main() { int i,arith,thes; int pin[1000]; bool b; for(i=1; i<=1000; i++) { pin[i]=rand() % 1000+1; } clock_t start; double duration; arith=715; start=clock(); b=Linear_search(pin[],1000,arith,thes); }
Moderators Kercyn Δημοσ. 12 Ιανουαρίου 2017 Moderators Δημοσ. 12 Ιανουαρίου 2017 Κοίταξες το line 44 και είναι όλα σωστά; Πώς περνάμε pointer σε function;
Dinos_12345 Δημοσ. 12 Ιανουαρίου 2017 Δημοσ. 12 Ιανουαρίου 2017 Πώς περνάμε pointer σε function; Εκτός αυτού, έχει κάνει include 2 άκυρες βιβλιοθήκες και τίποτα από αυτά που κάνει μέσα είναι C++.
AlexHello Δημοσ. 13 Ιανουαρίου 2017 Δημοσ. 13 Ιανουαρίου 2017 Να προσθέσω και γω για εδώ: pin[i]=rand() % 1000+1; Oτι το spacing σου είναι λίγο παραπλανητικό αφού το mod '%' έχει μεγαλύτερη προτεραιότητα απο την πρόσθεση. Καλό θα ήταν να διαχωρίζεις τέτοιες πράξεις με παρενθέσεις για να είναι η πρόθεσή σου ξεκάθαρη. Απλά ένα μικρό tip και απο μένα. 2
BabyRage Δημοσ. 13 Ιανουαρίου 2017 Δημοσ. 13 Ιανουαρίου 2017 1. Η pin μεταβλητή που είναι ένας πίνακας σε ακεραίους, στην ουσία είναι ένας δείκτης σε ENAN ακέραιο, μόνο που στην επόμενη θέση μνήμης έχει και άλλους 999 συνεχόμενους ακέραιους. Αυτό σημαίνει ότι η pin είναι στην ουσία int *. Άρα στην κλήση της Linear search παιρνάς pin και όχι pin[] 2. Ειίσαi σίγουρος ότι θες να περάσεις αναφορά σε δείκτη στο τελευταίο όρισμα της LinearSearch? Εγώ προσωπικά το έχω δει ελάχιστες φορές αυτό.
παπι Δημοσ. 13 Ιανουαρίου 2017 Δημοσ. 13 Ιανουαρίου 2017 Δες και stl style. (Χωρις temlate) int* find_first(int *first, int *last, int key) Θα επιστρεφςι τον δεικτη αν το βρει, ή αν οχι, θα επιστρεφει το last
Apsinthos07 Δημοσ. 14 Ιανουαρίου 2017 Δημοσ. 14 Ιανουαρίου 2017 Η for στην main είναι σωστή; Δεν θα έπρεπε να ήταν: ... for(i=0; i<=999; i++) { ... }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα