Đây là code bài ds số nguyên của em :
Dùng vòng lặp switch thì bị báo lỗi call of nonfunction. Mọi người sửa giúp em cái, sắp nộp bài tổng hợp rồi. có bài đầy đủ cho em luôn thì càng tốt. Hihihihi.....
Mã:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#define dodai 100 type int kieu;
int n;
int a[100];
void nhap(int a[], int n)
{
for(int i=1;i<=n;i++)
{
printf("\nPhan tu thu a[%d]:",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[], int n)
{
for(int i=1;i<=n;i++)
{
printf("%5d",a[i]);
}
}
void chon(int a[], int n)
{int i,x,m,j;
for(i=1;i<n;i++)
{int m=i;
for(int j=i+1;j<=n;j++)
if(a[j]<a[m]) m=j;
if(m!=i)
{ x=a[i]; a[i]=a[m]; a[m]=x;}
}
return;
}
void chen(int a[], int n)
{int j;
for(int i=2;i<=n;i++)
{int x=a[i];j=i-1;
while(x<a[j])
{ a[j+1]=a[j];
j--;}
a[j+1]=x;
}
return;
}
void swap(int *c,int *d)
{int a;
a=*c;
*c=*d;
*d=a;
return;
}
void noibot(int a[], int n)
{for(int i=1;i<=n-1;i++)
for(int j=n;j>=i+1;j--)
if(a[j]<a[j-1])
swap(&a[j],&a[j-1]);
return;
}
void Quick_Sort(int a[], int left, int right)
{ if(left<right)
{int i=left;int j=right;int x=a[(left+right)/2];
do { while(a[i]<x) i++;
while(a[j]>x) j--;
if(i<=j){swap(&a[i],&a[j]);i++;j--;}
}while(i<=j);
Quick_Sort(a,left,j);
Quick_Sort(a,i,right);
}
}
void main()
{
int n,x,p,q,left,right;
{
int chon;
do
{
clrscr();
cout<<"Danh sach dat so nguyen:";
cout<<"\nMENU: \n";
cout<<" 1. Nhap DS\n";
cout<<" 2. In DS\n";
cout<<" 3. SX chon\n";
cout<<" 4. SX chen\n";
cout<<" 5. SX noi bot\n";
cout<<" 6. SX nhanh\n";
cout<<" 7. Thoat\n";
cout<<"Nhap lua chon: ";cin>>chon;
switch(chon)
{
case 1:
clrscr();
printf("\nnhap so luong phan tu:");
scanf("%d",&n);
nhap(a,n);
cout<<"\nBam 1 phim bat ki de tro ve MENU! ";
getch();
break;
case 2:
clrscr();
printf("\ndanh sach vua tao:\n");
xuat(a,n);
cout<<"\nBam 1 phim bat ki de tro ve MENU! ";
getch();
break;
case 3:
clrscr();
printf("\nDS sau khi SX chon:\n");
chon(a,n); báo lỗi tại đây
xuat(a,n);
cout<<"\nBam 1 phim bat ki de tro ve MENU!";
getch();
break;
case 4:
clrscr();
printf("\nDS sau khi SX chen:\n");
chen(a,n);
xuat(a,n);
cout<<"\nBam 1 phim bat ki de tro ve MENU!";
getch();
break;
case 5:
clrscr();
printf("\nDS sau khi SX noi bot:\n");
noibot(a,n);
xuat(a,n);
cout<<"\nBam 1 phim bat ki de tro ve MENU!";
getch();
break;
case 6:
int left,right;
clrscr();
printf("\nDS sau khi SX nhanh:\n");
Quick_Sort(a,left,right);
xuat(a,n);
cout<<"\nBam 1 phim bat ki de tro ve MENU!";
getch();
break;
default:break;
}
}while(chon!=7);
return;
}
}