Các bạn sửa dùm mình với![]()
Code:#include<stdio.h> #include<conio.h> int max(int a[],int n); int min(int a[],int n); void nhap(int a[],int &n); void hoanvi(int &a,int &b); void xuat(int a[],int n); void main() { clrscr(); int n,c,d,a[100]; printf("Nhap n\n"); scanf("%d",&n); nhap(a,n); c=max(a,n); d=min(a,n); hoanvi(c,d); printf("Max = %d\n",c); printf("Min =%d\n",d); xuat(a,n); getch(); } void nhap(int a[],int &n) { for(int i=0;i<n;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); } } void xuat(int a[],int n) { for(int i=0;i<n;i++) printf("%d\t",a[i]); } void hoanvi(int &a,int &b) { int tam; tam=a; a=b; b=tam; } int max(int a[],int n) { int max=a[0]; for(int i=0;i<n;i++) { if(a[i]>max) max=a[i]; } return max; } int min(int a[],int n) { int min=a[0]; for(int i=0;i<n;i++) { if(a[i]<min) min=a[i]; } return min; }
Đã được chỉnh sửa lần cuối bởi yuka89 : 29-07-2008 lúc 04:50 PM. Lý do: code
Đầu bài hơi chuối, mình cũng đã làm một bài kiểu như này: tìm và đổi các giá trị max thành giá trị nguyên và ngược lại.
Với đề bài trên của bạn, thì mình nghĩ kết quả là hoán vị giá trị của phần tử max đầu tiên và phần tử min đầu tiên của mảng.
2 hàm tìm Max Min nên trả về vị trí max đầu tiên min đầu tiên thì hay hơn. Kiểu như này nhé:
để xuất ra giá trị Max Min thì bạn xuất theo địa chỉ của nó nhé.Code:#include<stdio.h> #include<conio.h> int max(int a[],int n); int min(int a[],int n); void nhap(int a[],int &n); void hoanvi(int a[],int n); void xuat(int a[],int n); void main() { clrscr(); int n,a[100]; printf("Nhap n\n"); scanf("%d",&n); nhap(a,n); xuat(a,n); hoanvi(a,n); xuat(a,n); getch(); } void nhap(int a[],int &n) { for(int i=0;i<n;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); } } void xuat(int a[],int n) { for(int i=0;i<n;i++) printf("%d\t",a[i]); } int max(int a[],int n) { int max=a[0],t=0; for(int i=0;i<n;i++) { if(a[i]>max) { max=a[i];t=i; } } return t; } int min(int a[],int n) { int min=a[0];t=0; for(int i=0;i<n;i++) { if(a[i]<min) { min=a[i];t=i; } } return t; } void hoanvi(int a[],int n) { int t1,t2,tam; t1=max(a,n); t2=min(a,n); tam=a[t1]; a[t1]=a[t2]; a[t2]=tam; }
Code:int max=0, min=0 for(int i = 0; i < n; i++) { max = a[i] > a[max] ? i : max; min = a[i] < a[min] ? i : min; } temp = a[max]; a[max] = a[min]; a[min] = temp;
OoShinHaoO