miza Δημοσ. 25 Φεβρουαρίου 2009 Δημοσ. 25 Φεβρουαρίου 2009 Πως μπορώ να φτιάξω σε c/c++ ένα πινακα που το μέγεθος του θα αναπροσδιορίζεται ανάλογα με το πλήθος των δεδομένων που θέλω να αποθηκεύσω;
drm Δημοσ. 25 Φεβρουαρίου 2009 Δημοσ. 25 Φεβρουαρίου 2009 > int *Matrix Matrix =(int *) malloc(CountOfData * Sizeof(int)); if (Matrix) { for (i=0; i<CountOfData;i++) Matrix[i] = i; } free(Matrix)
3c0r1z Δημοσ. 25 Φεβρουαρίου 2009 Δημοσ. 25 Φεβρουαρίου 2009 Για C++ καθαρά μπορείς να χρησιμοποιήσεις std::vector, εδώ μπορείς να βρεις περισσότερες πληροφορίες: http://www.cppreference.com/wiki/stl/vector/start . Αν δεν ενδιαφέρεσαι για C++ ή δεν γνωρίζεις από κλάσεις και πως τις χρησιμοποιείς μπορείς να χρησιμοποιήσεις την παραπάνω λύση.
javavall Δημοσ. 25 Φεβρουαρίου 2009 Δημοσ. 25 Φεβρουαρίου 2009 Για c++ μπορείς να χρησιμοποιήσεις το new και delete άμα θες κάτι απλό. >int * p; p = new int [size]; ... delete[] p;
miza Δημοσ. 26 Φεβρουαρίου 2009 Μέλος Δημοσ. 26 Φεβρουαρίου 2009 thx θα κoιταξω και τις 3 περιπτώσεις
Loukas_Livadeia Δημοσ. 3 Μαρτίου 2009 Δημοσ. 3 Μαρτίου 2009 thx θα κoιταξω και τις 3 περιπτώσεις άμα θες απο αρχείο τοτε πρωτα θα πρέπει να διαβάσεις πόσες γραμμές εχει: int cnt_file_lines() { ifstream w;//ανοιξε το αρχείο std::string a;//δήλωση μεταβλητής a ως string ακολουθεία // χαρακτήρων/γραμμή int k=1; //μετρητής γραμμών =1 w.open("file_name.dta", ios::binary|ios::in);//ανοιξε το αρχείο //για text ("file_name.txt") if(!w) cerr<<"file not fount!"<<endl; std::getline(w,a,'\n');//διαβασε την πρωτη γραμμή //k=1 while(!w.eof())//οσο δεν είναι στο τελος του αρχείου { std::getline(w,a,'\n');//διαβασε γραμμή k++;//αυξησε τον μετρητή γραμμών κατα 1 } w.close(); return k; //επέστρεψε το πλήθος των γραμμών } main() { int cntcrs=cntcourse(); //η μεταλβητή int cntcrs παίρνει το πληθος των γραμμών // του αρχειου string* spin; //δήλωση δυναμηκού πινακα string,char ,double, int spin=new string[cntcrs];// δεσμέυσε μνήμη spin=new string[πλήθος γραμμών]; for(int i=0; i<cntcrs; i++) { //επεξεργασία πινακα } delete spin[];//απελευθέρωσε την μνημη }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.