Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "random"
- using namespace std;
- void feel(int *a,int n){
- for (int i=0;i<n;i++){
- a[i]=rand()%100-50;
- }
- }
- void show(int *a,int n){
- for (int i=0;i<n;i++){
- cout<<a[i]<<" ";
- }
- cout<<endl;
- }
- int maximus(int *a, int n){
- int x=a[0];
- for(int i=1;i<n;i++){
- if(a[i]>x){
- x=a[i];
- }
- }
- return x;
- }
- int minimus(int *a,int n){
- int x=a[0];
- for(int i=1;i<n;i++){
- if(a[i]<x){
- x=a[i];
- }
- }
- return x;
- }
- int main()
- {
- int k=0;
- int n;
- cin>>n;
- int a[n];
- feel(a,n);
- show(a,n);
- int min=minimus(a,n);
- int max=maximus(a,n);
- if (min>=0&&max>=0){
- int r=max-min;
- int c[r];
- for(int i=0;i<r;i++){
- c[i]=0;
- }
- for (int i=0;i<n;i++){
- c[a[i]]++;
- }
- for (int i=0;i<r;i++){
- while(c[i]!=0){
- a[k]=i;
- k++;
- c[i]--;
- }
- }
- }
- if(min<0&&max<=0){
- int r=max-min;
- int c[r];
- for(int i=0;i<r;i++){
- c[i]=0;
- }
- for (int i=0;i<n;i++){
- c[-a[i]]++;
- }
- for (int i=r-1;i!=0;i--){
- while(c[i]!=0){
- a[k]=-i;
- k++;
- c[i]--;
- }
- }
- }
- if(min<0&&max>0){
- int cp[max+1];
- int co[-min+1];
- for(int i=0;i<max+1;i++){
- cp[i]=0;
- }
- for(int i=0;i<-min+1;i++){
- co[i]=0;
- }
- for (int i=0;i<n;i++){
- if (a[i]>=0){
- cp[a[i]]++;
- }
- else{
- co[-a[i]]++;
- }
- }
- show(cp,max+1);
- show(co,-min+1);
- for(int i=-min;i!=0;i--){
- while (co[i]!=0){
- a[k]=-i;
- k++;
- co[i]--;
- }
- }
- for (int i=0;i<max+1;i++){
- while (cp[i]!=0){
- a[k]=i;
- k++;
- cp[i]--;
- }
- }
- }
- show(b,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement