#include <iostream>
#include <vector>
using namespace std; //теперь нам не придется страдать с std::
int main(){
int n; cin>>n; //ввод кол-ва сортируемых элементов
vector <int> a(1e9,0); //создание вектора для хранения ответа. пока он заполнен 0. можно использовать массив
for (int i=0; i<n; ++i) { //запускаем цикл для ввода чисел
int input; cin>>input; //вводим сортируемое число
++a[input]; //считаем кол-во таких элементов во входном файле
}
for (int i=0; i<1e9; ++i) //цикл по всем элементам массива ответа
for (int j=0; j<a[i]; ++j) //цикл, который выводит данный элемент столько раз, сколько он встречается в массиве
cout<<i<<' ';
return 0; //завершение работы программы
}
Сортировка подсчетом заключается в том, что мы считаем, сколько раз данный элемент встречается в сортируеиом массиве и воводим его столько раз подряд на нужном месте, сколько он встречается в массиве.
Написанная мной программа сортирует элементы
общее кол-во которых не превосходит
Если нужно что-то еще – пиши. Буду обьяснять более подробно.
var
n, i: <em>integer</em>;
s: <em>longint </em>:= 1;
begin
readln(n);
for i := 1 to n do
s := s * (i + 1); //или короче: s *= i + 1;
writeln(s);
<span>end.</span>
//Dev-C++ 4.9.9.2
#include <iostream>
using namespace std;
const
int n=3;
int main(){
int ma[n*2][n];
bool b;
int nr=0;
nr=n;
b=false;
for(int i=0;i<n*2;i++)
for(int j=0;j<n;j++)
ma[i][j]=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>ma[i][j];
cout<<"Matrix:"<<endl;
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++)
cout<<ma[i][j]<<' ';
cout<<endl;}
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++){
if(ma[i][j]==0)b=true;}
if(b==true){
for(int z=nr-1;z>i;z--){
for(int c=0;c<n;c++)
ma[z+1][c]=ma[z][c];}
for(int c=0;c<n;c++)
ma[i+1][c]=5;
nr++;}
b=false;}
cout<<"Final matrix:"<<endl;
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++)
cout<<ma[i][j]<<' ';
cout<<endl;
}
cin.get();
cin.get();
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int ar[20];
for(int i=0;i<20;i++) cin>>ar[i];
return 0;
}