Προς το περιεχόμενο

Πρόβλημα με c++


nikgreek123

Προτεινόμενες αναρτήσεις

καλημερα εχω τον παρακατω κωδικα και με βγαζει σφαλμα "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);
}
 
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να προσθέσω και γω για εδώ:

pin[i]=rand() % 1000+1;

Oτι το spacing σου είναι λίγο παραπλανητικό αφού το mod '%' έχει μεγαλύτερη προτεραιότητα απο την πρόσθεση. 

Καλό θα ήταν να διαχωρίζεις τέτοιες πράξεις με παρενθέσεις για να είναι η πρόθεσή σου ξεκάθαρη.

Απλά ένα μικρό tip και απο μένα.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1. Η pin μεταβλητή που είναι ένας πίνακας σε ακεραίους, στην ουσία είναι ένας δείκτης σε ENAN ακέραιο, μόνο που στην επόμενη θέση μνήμης έχει και άλλους 999 συνεχόμενους ακέραιους. Αυτό σημαίνει ότι η pin είναι στην ουσία int *. Άρα στην κλήση της Linear search παιρνάς pin και όχι pin[] 

2. Ειίσαi σίγουρος ότι θες να περάσεις αναφορά σε δείκτη στο τελευταίο όρισμα της LinearSearch? Εγώ προσωπικά το έχω δει ελάχιστες φορές αυτό. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δες και stl style.

(Χωρις temlate)

int* find_first(int *first, int *last, int key)

 

Θα επιστρεφςι τον δεικτη αν το βρει, ή αν οχι, θα επιστρεφει το last

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...