Προς το περιεχόμενο
  • 0
Συνδεθείτε  
nikgreek123

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

Ερώτηση

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

6 απαντήσεις σε αυτή την ερώτηση

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

  • 0

Πώς περνάμε pointer σε function;

Εκτός αυτού, έχει κάνει include 2 άκυρες βιβλιοθήκες και τίποτα από αυτά που κάνει μέσα είναι C++.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

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

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

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

  • Like 2

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δες και stl style.

(Χωρις temlate)

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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Η for στην main είναι σωστή; 

Δεν θα έπρεπε να ήταν: 

...
for(i=0; i<=999; i++)
{
   ...
}

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

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

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

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.