2010-02-04 6 views
1
#include<iostream> 

using namespace std; 

int main() 
{ 
    int hash, opp, i, j, c = 0; 

    //cout<<"enter hasmat army number and opponent number\n"; 
    while(cin>>hash>>opp) 
    { 
     cout<<opp-hash<<endl; 
    } 
} 

la limite de temps pour ce problème: 3.000 secondes comment puis-je vérifier et tester cette condition?Erreur d'exécution C++? comment résoudre ceci et vérifier?

Je soumets ceci à un ordinateur en ligne, comment exactement puis-je savoir l'erreur d'exécution? devrais-je calculer le temps d'exécution et la mémoire? Explique-moi comment vérifier l'exécution et la mémoire en C++ sous linux, j'utilise la version 4.4.1 de gcc (Ubuntu 4.4.1-4ubuntu9).

+0

C'est plus spécifique ou le concours auquel vous soumettez le code. Vérifiez quelles situations sont considérées comme des «erreurs d'exécution» dans ce concours particulier. –

+0

Veuillez préciser: est-ce que cela indique une erreur d'exécution (votre programme plante) ou dépasse-t-il la limite de temps? E.g SPOJ vous donnerait des retours de ce genre. S'il s'agit d'une erreur d'exécution, vous devez vous assurer que votre programme ne contient pas de bogues/comportement non défini, vous avez compris la description du problème et votre code peut également gérer des cas d'angle moins évidents. Si elle dépasse la limite de temps, vous devrez probablement considérer si vous utilisez un algorithme avec une complexité adéquate pour la tâche (et ne pas faire les choses généralement de manière sous-optimale). – visitor

+0

Je vois que vous utilisez des E/S et de l'entrée standard. D'où vient l'entrée? –

Répondre

1

Une fois que vous avez compilé votre programme, vérifier son temps en cours d'exécution en exécutant avec le programme Unix time:

time ./myprogram 

Ce imprimera combien de temps « réel » (humain) a été prise, et combien CPU (traitement actif) temps. Si vous voulez vérifier la quantité de mémoire utilisée par votre programme, exécutez-le dans le débogueur et définissez un point d'arrêt où vous voulez inspecter l'utilisation de la mémoire, ou mettez simplement un sleep() long dans votre code et exécutez-le sans le débogueur. Vous pouvez ensuite utiliser des outils tels que ps ou top pour connaître la quantité de mémoire (virtuelle, résidente, etc.) utilisée par votre programme.

Questions connexes