int tmp;
for(int i = 0; i <= m-1; i++)
{
for( int j = 0; j <= m-2-i; j++)
{
if( arrayZ[j] > arrayZ[j+1] )
{
tmp = arrayZ[j];
arrayZ[j] = arrayZ[j+1];
arrayZ[j+1] = tmp;
}
}
}
сортировка методом попарной перестановки("методом пузырька")(C++)
нужна программа на С++ которая выполняет сортировку таким методом, массив из из 8 чисел, тоесть N=8
как то так:
Код:
template <class T >
inline void swap (T array[], int pos1, int pos2) {
T temp;
temp=array[pos1];
array[pos1]=array[pos2];
array[pos2]=temp;
}
template <class T>
inline void print(T array[],int size) {
for (int i=0;i<size;++i) cout<<array<<" ";
}
template <class T>
inline void bubble_sort(T array[], int size) {
int i,j;
for (i=0;i<size-1;++i)
for (j=size-1;j>i;--j)
if (array[j-1]>array[j]) swap(array,j-1,j);
}
int main()
{
int k;
int array[]={4,2,6,5,8,9,1,3,7};
print(array,9);
bubble_sort(array,9);
print(array,9);
cout<<endl;
cin>>k;
return 0;
}
inline void swap (T array[], int pos1, int pos2) {
T temp;
temp=array[pos1];
array[pos1]=array[pos2];
array[pos2]=temp;
}
template <class T>
inline void print(T array[],int size) {
for (int i=0;i<size;++i) cout<<array<<" ";
}
template <class T>
inline void bubble_sort(T array[], int size) {
int i,j;
for (i=0;i<size-1;++i)
for (j=size-1;j>i;--j)
if (array[j-1]>array[j]) swap(array,j-1,j);
}
int main()
{
int k;
int array[]={4,2,6,5,8,9,1,3,7};
print(array,9);
bubble_sort(array,9);
print(array,9);
cout<<endl;
cin>>k;
return 0;
}
Код:
#include <iostream>
using namespace std;
int main()
{
cout << "How many numbers do you wish me to work with? ";
int n;
cin >> n;
double array[n-1];
cout << "Enter these " << n << " values: ";
for (int i = 0; i < n; i++)
cin >> array;
double x = 0.0;
for (int a = 0; a < n; a++)
{
for (int b = 1; b+a < n; b++)
{
if (array[a] > array[b+a])
{
x = array[a];
array[a] = array[b+a];
array[b+a] = x;
}
}
}
cout << "Numbers from the smallest to the largest:" << endl;
for (int i = 0; i < n; i++)
cout << array << endl;
system ("PAUSE");
return 0;
}
using namespace std;
int main()
{
cout << "How many numbers do you wish me to work with? ";
int n;
cin >> n;
double array[n-1];
cout << "Enter these " << n << " values: ";
for (int i = 0; i < n; i++)
cin >> array;
double x = 0.0;
for (int a = 0; a < n; a++)
{
for (int b = 1; b+a < n; b++)
{
if (array[a] > array[b+a])
{
x = array[a];
array[a] = array[b+a];
array[b+a] = x;
}
}
}
cout << "Numbers from the smallest to the largest:" << endl;
for (int i = 0; i < n; i++)
cout << array << endl;
system ("PAUSE");
return 0;
}
Первый пост самый разумный. На первом курсе такая же проблема была, благо код был приведен в моей книге)