Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию, в

Михась Ученик (166), на голосовании 10 лет назад
Дополнен 10 лет назад
Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию, в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0, то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.
Помогите найти ошибку: не получается выполнить сортировку на уменьшение! ! 5 вывожу для того чтобы понять на каком этапе ошибка! выводит что на третьем цикле else if/ Вот мой код: ////////////////////////////////Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию,
////////////////////////////////в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0,
////////////////////////////////то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
//template <class>
void selectSort(int a[], long size, int parametr)
{
long i, j, k;
int x;
if(parametr==0)
{
for(i=0;i<size;i++)>;
for(j=i+1;j<size;j++)>;
a=x;
}
}

else if(parametr==1)
{
cout<<5<<endl;>0;i--)
{
cout<<5<<endl;>0;j--)
{
cout<<5<<endl;>x) /////////////////
{
cout<<5<<endl;>;// меняем местами наименьший с a
}
}
cout<<5<<endl;>;
a=x;
}
}
else cout<<"neverno"<<endl;>>parametr;
const long SIZE=10;
int ar[SIZE];

// до сортировки
for(int i=0;i<size;i++){>=rand()0;
cout<<ar<i><<"\t";
}
cout<<"\n\n";
selectSort(ar,SIZE,parametr);

// после сортировки
for(int i=0;i<size;i++){><<"\t";
}
cout<<"\n\n";
}

Дополнен 10 лет назад
Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию, в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0, то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.
Помогите найти ошибку: не получается выполнить сортировку на уменьшение! ! 5 вывожу для того чтобы понять на каком этапе ошибка! выводит что на третьем цикле else if/ Вот мой код: ////////////////////////////////Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию,
////////////////////////////////в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0,
////////////////////////////////то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
//template <class>
void selectSort(int a[], long size, int parametr)
{
long i, j, k;
int x;
if(parametr==0)
{
for(i=0;i<size;i++)>;
for(j=i+1;j<size;j++)>;
a=x;
}
}

else if(parametr==1)
{
cout<<5<<endl;>0;i--)
{
cout<<5<<endl;>0;j--)
{
cout<<5<<endl;>x) /////////////////
{
cout<<5<<endl;>;// меняем местами наименьший с a
}
}
cout<<5<<endl;>;
a=x;
}
}
else cout<<"neverno"<<endl;>>parametr;
const long SIZE=10;
int ar[SIZE];

// до сортировки
for(int i=0;i<size;i++){>=rand()0;
cout<<ar<i><<"\t";
}
cout<<"\n\n";
selectSort(ar,SIZE,parametr);

// после сортировки
for(int i=0;i<size;i++){><<"\t";
}
cout<<"\n\n";
}

Дополнен 10 лет назад
Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию, в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0, то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.
Помогите найти ошибку: не получается выполнить сортировку на уменьшение! ! 5 вывожу для того чтобы понять на каком этапе ошибка! выводит что на третьем цикле else if/ Вот мой код: ////////////////////////////////Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию,
////////////////////////////////в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0,
////////////////////////////////то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
//template <class>
void selectSort(int a[], long size, int parametr)
{
long i, j, k;
int x;
if(parametr==0)
{
for(i=0;i<size;i++)>;
for(j=i+1;j<size;j++)>;
a=x;
}
}

else if(parametr==1)
{
cout<<5<<endl;>0;i--)
{
cout<<5<<endl;>0;j--)
{
cout<<5<<endl;>x) /////////////////
{
cout<<5<<endl;>;// меняем местами наименьший с a
}
}
cout<<5<<endl;>;
a=x;
}
}
else cout<<"neverno"<<endl;>>parametr;
const long SIZE=10;
int ar[SIZE];

// до сортировки
for(int i=0;i<size;i++){>=rand()0;
cout<<ar<i><<"\t";
}
cout<<"\n\n";
selectSort(ar,SIZE,parametr);

// после сортировки
for(int i=0;i<size;i++){><<"\t";
}
cout<<"\n\n";
}

Голосование за лучший ответ
Арсен Арутюнян Гуру (4686) 10 лет назад
Пузырек вам в помощь!

В гугле пишите: "Сортировка пузырьком"
Krab Bark Искусственный Интеллект (191670) 10 лет назад
#include <iostream>
using namespace std;
const int n=10;

void sort1(float a[],int k,int r=1){
int i,j; float t;
if(r==0)for(i=0;i< k;i++)for(j=0;j< k-i-1;j++)
if(a[ j]>a[ j+1]){t=a[ j];a[ j]=a[ j+1];a[ j+1]=t;}
if(r==1)for(i=0;i< k;i++)for(j=0;j< k-i-1;j++)
if(a[ j]< a[ j+1]){t=a[ j];a[ j]=a[ j+1];a[ j+1]=t;}}

int main(){
float b[n]; int i,r;
for(i=0;i< n;i++){cout<<"b["<< i<<"]=";cin>>b[ i];}
cout<< endl<<"r=";cin>>r; sort1(b,n,r);
for(i=0;i< n;i++)cout<< endl<<"b["<< i<<"]="<< b[ i];
cin.get(); cin.get();}
елена селезнева Мастер (1495) 1 год назад
сама мучилась с этой задачей - немного некорректно но может быть кто-то доработает :
// ДЗ 19.07 _1_1.cpp : Дан массив чисел размерностью 10 элементов.

//Написать функцию, которая сортирует массив по возрастанию

//или по убыванию, в зависимости от третьего параметра функции.

//Если он равен 1, сортировка идет по убыванию, если 0, то по возрастанию. Первые 2 параметра

//функции — это массив и его размер, третий параметр по умолчанию равен 1

#include <iostream>

#include <stdlib.h>

#include <time.h>

#include <vector>

#include <string>

#include <cmath>

#include <algorithm>

#include <ctime>


using namespace std;

int main()

{

setlocale(0, "rus");

const int SIZE = 10;

int arr[SIZE] = { 1, 9, 2, 8, 3, 7, 4, 6, 5, 11 };

int par;

cout << "Введите 0 или 1" << "\n";

cin >> par;

if (int par = 1)

{

cout << "Сортировка элементов по возрастанию" << "\n";

sort(arr, arr + SIZE);

for (auto element : arr)

{

cout << element << endl;


}

return 0;

}

else

{

cout << "Сортировка элементов по убыванию" << "\n";

sort(arr, arr + SIZE, [](int a, int b)

{

return a > b;

});

for (auto element : arr)

{

cout << element << endl;


}

return 0;

}

}
Похожие вопросы