1
#include <iostream>
using namespace std;
int main()
{
int i,sum=0,n;
int a[10];
float avg;
cout<<"Enter how many numbers you want ";
cin>>n;
if (n>10)
n=10;
cout<<"Enter the numbers" << endl;
for (i=0;i<n;i++)
cin>>a[i];
for (i=0;i<n;i++)
{
sum=sum+a[i];
}
avg=sum/n;
cout<<"sum of array elements "<<sum << endl;
cout<<"average of array elements " <<avg << endl;
int temp;
for (int i =0; i<n; i++)
{
for (int j=1; j<n; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
cout << "The numbers in ascending order are:" << endl;
for (int i =0; i<n; i++)
{
cout << a[i] << endl;
}
return 0;
}
При запуске этой программы номера распечатываются в другом порядке.Зачем это не печатать цифры в порядке возрастания
, если я использую число 1 2 3 4 5. они печатают, как 1 5 4 3 2
все остальное работает нормально. Как исправить эту ошибку?
Ваш алгоритм сортировки некорректен. Что произойдет, если, например, вы сравниваете элементы 'a [4]' и 'a [1]'? –
Как я могу сделать так, чтобы он сравнивал все числа? – user3138302
Этот вид странной сортировки вставки не работает правильно, вы можете легко преобразовать его в сортировку пузыря – maraca