PDA

View Full Version : بزرگترین اشترک و اجتماع بازه ها



lvlina_r
شنبه 15 اسفند 1388, 19:58 عصر
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int max2=0,max3=0;
int a,b,c,d;
int min;
int count=1,n;
c=1;
d=0;
int *lowerx,*upperx,*lowery,*uppery;
ifstream fin ("in1.txt",ios::in);
ofstream fout ("in2.txt",ios::out);
fin >> n;
lowerx=new int [n];
upperx=new int [n];
lowery=new int [n];
uppery=new int [n];
for(int i=0;i<n;i++)
{
fin>>lowerx[i]>> upperx[i];
}
for(int j=0;j<n;j++)
{
min=lowerx[j];
for(int k=j+1;k<n;k++)
{
if(lowerx[k]<min)
{
min=lowerx[k];
a=lowerx[j];
b=upperx[j];
lowerx[j]=lowerx[k];
upperx[j]=upperx[k];
lowerx[k]=a;
upperx[k]=b;
}
}
}
lowery[0]=lowerx[0];
uppery[0]=upperx[0];
while(c<n)
{
if(uppery[d]<lowerx[c])
{
count++;
if(max3<lowerx[c]-uppery[d])
max3=lowerx[c]-uppery[d];
lowery[d+1]=lowerx[c];
uppery[d+1]=upperx[c];
d++;
c++;
}
if(uppery[d]>=lowerx[c]&&uppery[d]<=upperx[c])
{
lowery[d]=upperx[c];
c++;
}
if(uppery[d]>upperx[c])
c++;
}
for(int r=0;r<count;r++)
if(uppery[r]-lowery[r]>max2)
max2=uppery[r]-lowery[r];
fout << max2 << " " << max3 << endl;
return 0;
}

این کد را من نوشتم، می خوام بزرگترین اشترک و اجتماع بازه ها را چاپ کنه، ولی واسه بعضی داده ها اشتباه می ده، کسی می تونه کمکم کنه؟؟؟؟ مرســــــــــــــــــــــ ی

Salar Ashgi
شنبه 15 اسفند 1388, 23:28 عصر
می خوام بزرگترین اشترک و اجتماع بازه ها را چاپ کنه


منظورتون رو واضحتر مطرح کنید .

lvlina_r
یک شنبه 16 اسفند 1388, 12:22 عصر
ببینید ما چند تا بازه بهش می دیم، مثلا
3
300 1000
700 1200
1500 2100
باید بزرگترین طول اشتراک داده ها، 1000-700=300و بزرگترین طول اجتماع 1200-300=900

lvlina_r
دوشنبه 17 اسفند 1388, 14:30 عصر
حواهشا یکی جواب منا بده

amin1softco
دوشنبه 17 اسفند 1388, 16:56 عصر
ببین شما سوال رو واضح بیان نمی کنی شما بگو قشنگ این برنامه می خواد چه کار کنه و یک مثال دقیق بزن که چه ورودی هایی باید دریافت کنه و چه خروجی هایی باید بده تا دوستان راهنمایی کنند
مثلا این برنامه قرار یک فایل ورودی و یک فایل خروجی داشته باشه در فایل ورودی چند آرایه وجود داره و برنامه باید بزرگترین اشتراک و اجتماعشون رو بدست بیاره تا بدونیم قراره چه کار کنیم

lvlina_r
سه شنبه 18 اسفند 1388, 18:35 عصر
خوب همین که گفتینه دیگه، مثالم زدم، نمی دونم چی بگم