PDA

View Full Version : کامپایل برنامه در visual c++ 2005



arash_65
دوشنبه 24 دی 1386, 15:41 عصر
لطفا در مورد چگونگی کامپایل برنامه توضیح دهید چون من هر موقع این برنامه را در visual باز میکنم دکمه اجرای برنامه غیر فعال است.

کد برنامه:

#include <iostream>
#include <ctime>
#include <vector>
#include <fstream>
#include <cmath>
#include <iomanip>
#define pow2(x) ((x)*(x))
using namespace std;
struct point{
double x,y;
bool operator ==(point &p) const {
return (p.x == x && p.y == y );
}
};
struct line {
point sar,tah;
double length;
};
struct cross {
point now; // neshun mide alan in masir be kodum noghte reside
int tunnel;
double sum;
cross(){
sum=0;
}
};
inline double dist(point &p,point &q){
return sqrt(pow2(p.x-q.x)+pow2(p.y-q.y));
}
int way[30];
int main(){
clock_t cl=clock();
ifstream in("sharif_00_d.in");
int T;
in >> T;
while (T--){
vector <vector <line> > v (101);// tunnel haye hamrang ro ye ja mizarim
point s,t;
in >> s.x >> s.y >> t.x >> t.y;
int step; in >> step;
for (int i=0;i<step;++i)
in >> way[i];
int n;
in>>n;
line temp;
int color;
for (int i=0;i<n;++i){
in >> temp.sar.x >> temp.sar.y >> temp.tah.x >> temp.tah.y >> color;
temp.length = dist (temp.sar,temp.tah);
v[color].push_back(temp);
}
vector <vector<cross> > c(step);
cross temp1;
for (int i=0;i<step;++i){
for (int j=0;j<v[way[i]].size();++j){
if (i==0){
temp1.now = v[way[i]][j].tah;
temp1.sum = dist(s,v[way[i]][j].sar) + v[way[i]][j].length;
temp1.tunnel=i+1;
c[i].push_back(temp1);
temp1.now = v[way[i]][j].sar;
temp1.sum = dist(s,v[way[i]][j].tah) + v[way[i]][j].length;
c[i].push_back(temp1);
}
else
for (int k=0;k<c[i-1].size();++k){
temp1.now = v[way[i]][j].tah;
temp1.sum = c[i-1][k].sum + dist(c[i-1][k].now,v[way[i]][j].sar) + v[way[i]][j].length;
temp1.tunnel=i+1;
c[i].push_back(temp1);
temp1.now = v[way[i]][j].sar;
temp1.sum = c[i-1][k].sum + dist(c[i-1][k].now,v[way[i]][j].tah) + v[way[i]][j].length;
c[i].push_back(temp1);
}
}
// hazf:
if (i!=0){
for (int l=0;l<c[i].size();++l)
for (int o=l+1;o<c[i].size();++o)
if (c[i][l].now == c[i][o].now)
if ( c[i][l].sum < c[i][o].sum){
c[i].erase(c[i].begin()+o);
--o;
continue;
}
else if ( c[i][l].sum > c[i][o].sum){
c[i].erase(c[i].begin()+l);
--l;
break;
}
}//if
}
double ans=1000000000;
for (int i=0;i<c[step-1].size();++i)
ans = min (ans,c[step-1][i].sum + dist(c[step-1][i].now,t));
cout << fixed << setprecision(14) << ans << endl;

// khat hayi ke rangeshun ba way yekiye ro entekhab mikonim va ye bar az sar be tah mirim ye bar az tah be sar :D
// bayad tahe khat ( age az sar berim tah :d ) , az beyne tamame masir haye ke ta hala be inja residan va way ashun yekiye
// min entekhab beshe ( baghiye hazf beshan )
}
cout << "Time: " << ( clock()-cl ) * 0.001 << endl;
return 0;
}

amir_civil
دوشنبه 24 دی 1386, 15:55 عصر
چون من هر موقع این برنامه را در visual باز میکنم دکمه اجرای برنامه غیر فعال است
سلام
ابتدا باید یه پروژه ایجاد کنی بعد برنامه رو توش بنویسی تا بشه کامپایل کرد

alisina
چهارشنبه 14 مرداد 1388, 00:29 صبح
راه حل اینه که همین کد را کپی سپس در یک فایل جدید که باز میکنی پیست کنی بعد کامپایل کنی