infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Petru Trimbitas din Octombrie 08, 2010, 19:25:31



Titlul: Problema debug
Scris de: Petru Trimbitas din Octombrie 08, 2010, 19:25:31
De ce cand fac debug pe urmatorul cod in codeblocks:
Cod:
/*
 * File:   main.cpp
 * Author: petru
 *
 * Created on 2010-10-08
 */


#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <cmath>
#define LL long long
#define x first
#define y second
#define DN 1005
using namespace std;

typedef pair<int, int> PER;
typedef vector<PER > grafc;

grafc gr[DN];

int dist(const PER &a,const PER &b) {
    return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
}

int n;
PER coord[DN];
vector <int> sol;

int main()
{
    ifstream f("desen.in");
    ofstream g("desen.out");
    f>>n;
    for(int i=1; i<=n; ++i) {
        double rez=0;
        f>>coord[i].first>>coord[i].second;
        for(int j=1; j<i; ++j) {
            int d=abs(dist(coord[i],coord[j]));
            gr[i].push_back(make_pair(j,d));
            gr[j].push_back(make_pair(i,d));
            sol.push_back(d);
        }
        if(i>1) {
            sort(sol.begin(),sol.end());
            for(int j=0;j<i-1; ++j)
                rez+=sol[j];
        }
        if(rez)cout<<sqrt(rez)<<'\n';
        else cout<<rez;
    }
    return 0;
}
La un moment dat primesc un ecran albastru pe care scrie ca pentru a nu-mi se strica windows-ul, acesta a fost oprit.

pentru debug folosesc testul asta:
Cod:
5
0 0
0 2
2 0
2 2
1 1


Titlul: Răspuns: Problema debug
Scris de: Simoiu Robert din Octombrie 08, 2010, 20:07:59
Cod:
else cout<<rez ;
Cred ca aici trebuie sa pui si '\n' ( oricum nu asta e problema ) . Am rulat si merge. Incearca sa iei de pe MinGW (http://www.mingw.org/) ultimul compiler. Vezi ca rezultatele nu sunt bune :P


Titlul: Răspuns: Problema debug
Scris de: Petru Trimbitas din Octombrie 08, 2010, 20:10:21
Stiu ca algoritmul este gresit, compilatorul e cel de pe infoarena. Pe mine ma intereseaza de ce apare ecranul ala albastru. Am mai avut problema asta si la alte surse.


Titlul: Răspuns: Problema debug
Scris de: CHERA Laurentiu din Octombrie 15, 2010, 17:55:40
Ia-o pe incercate! Bagi la comentariu pe rand bucati din cod si compilezi! Prima data incepi cu tot codul, tot ce e in main, apoi scoti de la comentariu pe rand functii si instructiuni pana localizezi problema si apoi daca nu te descurci posteaza codul ce creaza problema aici!


Titlul: Răspuns: Problema debug
Scris de: Petru Trimbitas din Octombrie 15, 2010, 18:40:18
Inclin sa cred ca e de la ide.In Visual studio si in mingw merge chiar si sub linux in codeblocks merge perfect.