farazm
پنج شنبه 27 آذر 1393, 15:15 عصر
سلام دوستان
من برنامه ای نوشتم که از کاربر داده رو بگیره و عملیاتی رو روش انجام بده (جستجوی خطی و مرتب سازی و...)
تا اینجا برنامه خطا داده سعی کردم یه سری هاشو برطرف کنم ولی بازم خطا میده میشه راهنما ییم کنید که کجای برنامه مشکل داره ؟ ممنون میشم
#include<iostream.h>
#include<conio.h>
void input(int);
void search(int);
void sort(int);
void binsearch(int);
void deletedata(int);
void showdata(int);
int n=0;
void main()
{
int x[200],select;
while(1)
{
clrscr();
cout<<"------------------\n";
cout<<"1) input new data|\n";
cout<<"2) search line |\n";
cout<<"3) sort |\n";
cout<<"4) by search |\n";
cout<<"5) delete data |\n";
cout<<"6) show list |\n";
cout<<"7) exit :) |\n";
cout<<"|----------------|\n";
cout<<"8| select |\n";
cout<<"|----------------|\n";
gotoxy(10 ,11);
cin>>select;
switch(select)
{
case 1:cout<<"input(x[])";
break;
case 2:cout<<"search(x[])";
break;
case 3:cout<<"sort(x[])";
break;
case 4:cout<<"binsearch(x[])";
break;
case 5:cout<<"delete(x[])";
break;
case 6:cout<<"show list(x[])";
break;
case 7:cout<<"exit";
break;
}
}
void input(int x[])
{
char ch;
while(n<=199)
{
cout<<"enter data =";
cin>>x[n];
cout<<"continue(y/n)?";
ch=getche();
if(ch=='n'||ch=='N')break;
n++
}
}
void search (int x[])
{
int data ,find=0,i,n=199;
cout<<"enter data";
cin>>data;
for(i=0;i<=n;i++)
if(data==x[i])
{
find=1;
cout<<i<<"\n";
}
if(find=0)cout<<"not found";
}
void sort(intx[])
{
int m;
cout<<" 1-hobabi,2-entkhebai :"; cin>>m;
if(m==1)
{
int,i,j,temp;
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(x[j]>x[j+1]
{
temp=x[j];
x[j]=k[j+1];
x[j+1]=temp;
}
if(m==2)
{
int i,n=0 ,j,min,index;
for(i=0;i<n;i++)
min=x[i];
index=i;
for(j=i+1;j<=n;j++)
if(x[j]<min)
{
min=x[j];
index=[j];
}
x[index]=x[i];
x[i]=min;
}
void binsearch (int x[])
{
int find=0,l=0,h=10;
cin>>data;
while(l<=h && find==0)
{
m=(l+h)/2;
if(data==x[m])
{
cout<<m<<"m"<<"\n";
find=1;
}
else if (data<x[m])h=m-1;
else if(data>x[m])l=m+1;
if(find==0)cout<<"not fo0o0ond";
}
void delete (int x[],int data)
{
int i,j,n,find=0;
for(j=i;j<=n-1;j++)x[j]=x[j+1];
n--;
}
void show(int x[])
{
int i;
for(i=0;i<n;i++)
cout<<x[i]<<"\t";
} getch();
}
من برنامه ای نوشتم که از کاربر داده رو بگیره و عملیاتی رو روش انجام بده (جستجوی خطی و مرتب سازی و...)
تا اینجا برنامه خطا داده سعی کردم یه سری هاشو برطرف کنم ولی بازم خطا میده میشه راهنما ییم کنید که کجای برنامه مشکل داره ؟ ممنون میشم
#include<iostream.h>
#include<conio.h>
void input(int);
void search(int);
void sort(int);
void binsearch(int);
void deletedata(int);
void showdata(int);
int n=0;
void main()
{
int x[200],select;
while(1)
{
clrscr();
cout<<"------------------\n";
cout<<"1) input new data|\n";
cout<<"2) search line |\n";
cout<<"3) sort |\n";
cout<<"4) by search |\n";
cout<<"5) delete data |\n";
cout<<"6) show list |\n";
cout<<"7) exit :) |\n";
cout<<"|----------------|\n";
cout<<"8| select |\n";
cout<<"|----------------|\n";
gotoxy(10 ,11);
cin>>select;
switch(select)
{
case 1:cout<<"input(x[])";
break;
case 2:cout<<"search(x[])";
break;
case 3:cout<<"sort(x[])";
break;
case 4:cout<<"binsearch(x[])";
break;
case 5:cout<<"delete(x[])";
break;
case 6:cout<<"show list(x[])";
break;
case 7:cout<<"exit";
break;
}
}
void input(int x[])
{
char ch;
while(n<=199)
{
cout<<"enter data =";
cin>>x[n];
cout<<"continue(y/n)?";
ch=getche();
if(ch=='n'||ch=='N')break;
n++
}
}
void search (int x[])
{
int data ,find=0,i,n=199;
cout<<"enter data";
cin>>data;
for(i=0;i<=n;i++)
if(data==x[i])
{
find=1;
cout<<i<<"\n";
}
if(find=0)cout<<"not found";
}
void sort(intx[])
{
int m;
cout<<" 1-hobabi,2-entkhebai :"; cin>>m;
if(m==1)
{
int,i,j,temp;
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(x[j]>x[j+1]
{
temp=x[j];
x[j]=k[j+1];
x[j+1]=temp;
}
if(m==2)
{
int i,n=0 ,j,min,index;
for(i=0;i<n;i++)
min=x[i];
index=i;
for(j=i+1;j<=n;j++)
if(x[j]<min)
{
min=x[j];
index=[j];
}
x[index]=x[i];
x[i]=min;
}
void binsearch (int x[])
{
int find=0,l=0,h=10;
cin>>data;
while(l<=h && find==0)
{
m=(l+h)/2;
if(data==x[m])
{
cout<<m<<"m"<<"\n";
find=1;
}
else if (data<x[m])h=m-1;
else if(data>x[m])l=m+1;
if(find==0)cout<<"not fo0o0ond";
}
void delete (int x[],int data)
{
int i,j,n,find=0;
for(j=i;j<=n-1;j++)x[j]=x[j+1];
n--;
}
void show(int x[])
{
int i;
for(i=0;i<n;i++)
cout<<x[i]<<"\t";
} getch();
}