wazir ahmad Ответов: 4

Сортировка выбора в порядке убывания


#include<iostream.h>


(main) void
{
        int i, j, first, temp;
      int numLength = num.length( );
        for (i= numLength - 1; i > 0; i--)
      {
              first = 0;
              for (j=1; j<=i; j++)
             {
                      if (num[j] < num[first])
                      first = j;
             }
            temp = num[first];
         num[first] = num[i];
         num[i] = temp;
     }
     return;
}


[edit]добавлен блок кода, кодированный HTML - OriginalGriff[/edit]

Richard C Bishop

Это не вопрос. Подробно остановитесь на своей проблеме и объясните, чего вы пытаетесь достичь. Затем сформулируйте конкретный вопрос о том, в чем вам нужна помощь.

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Вы, кажется, забыли сказать нам, в чем ваша проблема...
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

wazir ahmad

мне нужно, например, различные виды сортировки поделитесь плз, кто свою работу

4 Ответов

Рейтинг:
2

Christian Graus

Это вообще не вопрос. Единственное, что я скажу, это то, что iostream.h-это не C++. Просто включите iostream без .h. кроме того, это дамп кода. Если у вас есть вопрос, отредактируйте этот пост и задайте его. Если нет, то он будет удален.


Рейтинг:
1

Jibesh

Похоже на домашнее задание для меня. но поиск google будет перечислять ваш результат.

Проверять здесь[^]


Рейтинг:
0

CPallini

Ваш код не будет компилироваться даже на древнем компиляторе, который вы используете (почему бы вам не использовать более современный компилятор C++ компилятор?).

Ты наверное имеешь в виду:

#include <iostream.h>

// the selection sort function
void sort(int num[], int numLength);

// usage sample
int main()
{
	int v[] =  {0,7,-5, 10000, 45};
	const int SIZE = sizeof(v)/sizeof(v[0]); 
	sort(v, SIZE);
	for (int i=0; i<SIZE; i++)
		cout << v[i] << " ";
	cout << endl;
}
// sort implementation
void sort(int num[], int numLength)
{
  int i, j, first, temp;
  if ( numLength < 2) return;

  for (i = numLength - 1; i > 1; i--)
  {
    first = 0;
    for (j=1; j<=i; j++)
    {
       if (num[j] < num[first])
	 first = j;
    }
    temp = num[first];
    num[first] = num[i];
    num[i] = temp;
  }


nv3

Эй, ты слишком добр к этим парням, которые пытаются сделать свою домашнюю работу :-)

CPallini

:-)

Рейтинг:
0

Romik Majumder

Мой код для сортировки массива в порядке убывания по выбору сортировка:-
.
.
.

#include <bits/stdc++.h> 
using namespace std; 
  
void swap(int *xp, int *yp)  
{  
    int temp = *xp;  
    *xp = *yp;  
    *yp = temp;  
}  
  
void selectionSort(int arr[], int n)  
{  
    int i, j, max_idx;  
   
    for (i = 0; i < n-1; i++)  
    {    
        max_idx = i;  
        for (j = i+1; j < n; j++)  
        if (arr[j] > arr[max_idx])  
            max_idx = j;    
        swap(&arr[max_idx], &arr[i]);  
    }  
}  
void printArray(int arr[], int size)  
{  
    int i;  
    for (i=0; i < size; i++)  
        cout << arr[i] << " ";  
    cout << endl;  
}  
  
// Driver program to test above functions  
int main()  
{  
    int arr[] = {64, 25, 12, 22, 11};  
    int n = sizeof(arr)/sizeof(arr[0]);  
    selectionSort(arr, n);  
    cout << "Sorted array: \n";  
    printArray(arr, n);  
    return 0;  
}  


CHill60

Смотрите мой комментарий к вашему другому решению вопроса 8-летней давности. Раскомментированные дампы кода бесполезны