Предмет: Информатика,
автор: kvaisberg
Написать программу на C++ для решения следующей задачи: в данной
последовательности расположить сначала все отрицательные, затем положительные
элементы, а нулевые элементы расположить в конце последовательности.
MrMiner1:
Располагать числа (допустим отрицательные) в порядке неубывания или в порядке ввода?
Ответы
Автор ответа:
1
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
int arr[n], k=0;
for (int i=0; i<n; ++i) {cin>>arr[i]; if (arr[i]==0) ++k;}
for (int i=0; i<n-1; ++i) {
for (int j=0; j<n-i-1; ++j) {
if (arr[j]>arr[j+1]) {
int temp;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
if (k>0) {
int m;
for (m=0; m<n; ++m) if (arr[m]==0) break;
for (int i=m; i<n-k; ++i) arr[i]=arr[i+k];
for (int i=n-k; i<n; ++i) arr[i]=0;
}
for (int i=0; i<n; ++i) cout<<arr[i]<<" ";
return 0;
}
Похожие вопросы
Предмет: Химия,
автор: rinatbajmuratov2
Предмет: Литература,
автор: nadayzakuckay
Предмет: История,
автор: rorobot81
Предмет: Биология,
автор: sonyafly1