freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

χρόνος εκτέλεσης αλγορίθμου


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [2 Μηνύματα]      Bookmarks Tags: χρονος Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
airmang


Μέλος από: 26 Νοε 2008
Μηνύματα: 4

View users profile
ΜήνυμαΣτις: 20 Απρ 2009 11:38    Θέμα: χρόνος εκτέλεσης αλγορίθμου
Περιγραφή θέματος: χρόνος εκτέλεσης αλγορίθμου
Απάντηση με παράθεση  Mark this post and the followings unread

Χριστός Ανέστη και Χρόνια Πολλά!

Μια ερώτηση:
αν θέλω ένας αλγόριθμος να τρέχει για ένα συγκεκριμένο χρονικό διάστημα π.χ. 3 λεπτά,
- αν μέσα σε αυτά τα 3 λεπτά βρεθεί λύση, τερμάτισε
- αλλιώς συνέχισε μέχρι να εξαντληθούν τα 3 λεπτά

Πώς θα το κάνω;

είναι σωστό αν γράψω αρχικά:
int t, endTime=clock()+10800; //3*3600=10800 δευτερόλεπτα

και μετά παρακάτω:
while (t<=endTime){
// αλγόριθμος
}

ευχαριστώ!
virxen75


Μέλος από: 18 Φεβ 2009
Μηνύματα: 256+
Περιοχή: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ
View users profile
ΜήνυμαΣτις: 20 Απρ 2009 15:29    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Χρόνια πολλά
Αληθώς Ανέστη.


κώδικας:

#include <stdio.h>
#include <time.h>


void main(){
     double time1=0;
     double finishTime;
     clock_t start = clock();
     finishTime=start+10;//10 seconds
     while (time1<=finishTime){/* o κώδικας πιο κάτω τρέχει για 10 δευτερόλεπτα */
   time1=((double)clock() - start)/ CLOCKS_PER_SEC;
   printf("Time elapsed: %f\n", time1);
     }

}


εαν τώρα θες να βγεις από το while όταν βρεις λύση έστω και πιο μπροστά από τα 10 sec
τότε πρέπει να βάλεις ένα

if(συνθήκη==true) time1=finishTime+1;
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [2 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 04 Δεκ 2016 16:12 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos