sortowanie przez zliczanie

0

Co powinnam poprawić, by program posortował mi liczby przez zliczanie? Co należy jeszcze dopisać, poprawić?

#include<iostream>
using namespace std;

void zliczanie(int A[], int B[], int C[],  int k, int n)
{
	int i;
	for(i=1;i<=k;i++)
		C[i]=0;
	for(i=1;i<=n;i++)
		C[A[i]]=C[A[i]]+1;
	for(i=2;i<=n;i++)
		C[i]=C[i]+C[i-1];
	for(i=n;i>=1;i--)
	{
		B[C[A[i]]]=A[i];
		C[A[i]]=C[A[i]]-1;
	}
	for(i=1;i<=n;i++)
		A[i]=B[i];
	
};

int max (int tab[], int n)
{
	int i;
	int max=tab[0];
	for(i=1;i<=n;i++)
	{
		if(max<tab[i])
		   max=tab[i];
	}
	return max;
};

int main()
{
	int n,i;
	int a[101];
	cout<<"podaj n: ";
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cout<<"podaj kolejne a: ";
		cin>>a[i];
	};
	
    int k=max(a,n); 
	  
	cout<<"liczby posortowane"<<endl;
	for(i=1;i<=n;i++)
	    cout<<a[i]<<"  ";

};

Z góry dziękuję!

0

Na sam początek popraw kod, tak aby tablice iterowane były od zera, a nie jedynki - potem popraw nazwy zmiennych oraz parametrów, ponieważ ciężko się ten kod analizuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1