Sử dụng con trỏ nhập một dãy số nguyên gồm n phần tử

Đề : Sử dụng con trỏ nhập một dãy số nguyên gồm n phần tử.Xuất dãy ra màn hình theo chiều ngược lại (nhập sau thì in trước).Xác định phần tử có giá trị lớn nhất và cho biết nó là phần tử thứ mấy trong dãy đã nhập. Sắp xếp lại dãy như sau: bên trái là các phần tử âm giảm dần, ở giữa là số 0 (nếu có),bên phải là các số dương tăng dần.
mình còn ý cuối, mình mong mọi người cho mình hướng giải quyết. Cảm ơn mọi người.

 #include<iostream>
#include<conio.h>
using namespace std;
int main()
{
	int i,j=0,n,*t,*a;
	cout<<"nhap so phan tu :";
	cin>>n;
	a=new int[n];
	cout<<"nhap cac phan tu day so:\n";
	for(i=0;i<n;i++)
	cin>>*(a+i);
	cout<<"day so la:\n";
	for(i=0;i<n;i++)
	cout<<"\t"<<*(a+i);
	for ( i=0,j=n-1;i<j;i++,j--)
   {
		t=new int;
		*t=*(a+i);
		*(a+i)=*(a+j);
		*(a+j)=*t;
    }
    	cout<<"\nday so dao nguoc la:\n";
	for(i=0;i<n;i++)
	cout<<"\t"<<*(a+i);
	int *max,dem;
	max=a;
	for(i=0;i<n;i++)
	if(*(a+i)>*max)
	{
	*max=*(a+i);
	dem=i+1;
    }
cout<<"\nso lon nhat :\t"<<*max;
cout<<"\nso thu:"<<dem<<endl;
for (int i = 0; i < n; i++){
	for (int j = i; j < n; j++){
		if (a[i] > a[j]){
			swapper(a, i, j);
		}
	}
}

for (int i = 0; i < n; i++){
	for (int j = i; j < n; j++){

		if (a[j] < 0){
			swapper(a, i, j);
		}
		else
		{
			break;
		}
	}
}

Bạn xem thử đi

chạy không được bạn ơi

cái hàm swapper bạn phải tự viết chứ

void swapper (int *a, int i, int j){

int k = a[i];
a[i] = a[j];
a[j] = k;}

cái đó mình làm rồi vẫn lỗi để kiểm tra lại

bạn lỗi chỗ dem phải k ? do bạn chưa khởi tao dem :grinning:

lỗi này
[Error] cannot convert ‘int**’ to ‘int*’ for argument ‘1’ to ‘void swap(int*, int, int)’

Bạn xem kĩ lại đi ,mình chạy được mà

được rồi cảm ơn bạn đã giúp

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?