Форум программистов, компьютерный форум CyberForum.ru

C++ Сортировка массива методом Min и Max | Не работает программа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пример структуры для изучения http://www.cyberforum.ru/cpp-beginners/thread975095.html
Пожалуйста,приведите пример структуры для разбора,сначала пробовал смотреть чужие темы на эту тему на форуме,но там у всех со своими ошибками,что побудило создать свою тему чем запоминать чужие ошибки. Например что должно быть в структуре: 1, Описать структуру с именем Dota2, содержащую следующие поля: - Имя героя; - Основная характеристика; - Его роль. 2. Следующие действия: - ввод с...
C++ Вычисление занчения Доброго времени суток, помогите вычислить http://www.cyberforum.ru/cpp-beginners/thread975073.html
Вычисление числа P c заданной точностью e>0 C++
Доброго времени суток, помогите сделать задания.
Выделение из исходной строки символов заданной длины с указанного номера позиции C++
помогите, а то я в ассемблере слаб. нужно написать через сегменты. tasm dseg segment public para 'data' str1 db "123456" l equ $-str1 a db ? s db "$" mes db 10,13,"Vvedite nomer pozicii $" vel db 10,13,"vvedite coli4ectvo cimvolov $" str3 db ? l2 equ $-str2
C++ Напишите программу формирования массива С, компоненты которого определяются по формулам http://www.cyberforum.ru/cpp-beginners/thread975039.html
Заданы два массива A и B одинаковой размерности. Напишите программу формирования массива С, компоненты которого определяются по формулам: (4a, если a>b) c= (4b, если b<=a)
C++ Напишите программу формирования массива Заданы два массива A и B одинаковой размерности. Напишите программу формирования массива С, компоненты которого определяются по формулам: (4a, если a>b) c= (4b, если b<=a) подробнее

Показать сообщение отдельно
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
12.10.2013, 00:37     C++ Сортировка массива методом Min и Max | Не работает программа
Попытался Ваш вариант адаптировать, только если использовать поиск по максимуму и по минимуму, данный метод не всегда дает требуемый результат в случае одинаковых элементов в массиве. Для стопроцентного результата выберите что-нибудь одно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <ctime>
 
using namespace std;
 
void main ()
{
   srand(time(NULL));
   int size;
   int num;
   int i, j;
   int min, max;
   int m;
 
   cout << "Enter array's size: ";
   cin >> size;
 
   int *mas = new int[size];
 
   for (i=0;i<size;i++)
   {
      mas[i]=rand()%100+1;
   }
 
   cout << "Array: ";
   for (i=0;i<size;i++)
   {
      cout << mas[i] << " ";
   }
   cout << endl;
 
   i = 0;
   j = size-1;
   while (i < j)
   {
      min = i;
      max = j;
      for(m = i; m <= j; m++)
      {
         if(mas[m] < mas[min])
            min = m;
         else if(mas[m] > mas[max])
            max = m;
      }
      if (i != min && min != max)
         mas[i] ^= mas[min] ^= mas[i] ^= mas[min];
      if (j != max && min != max)
         mas[j] ^= mas[max] ^= mas[j] ^= mas[max];
      i++;
      j--;
   }
 
   cout << "Sorted array: ";
   for(i = 0; i < size; i++)
   {
      cout << mas[i] << " ";
   }
   cout << endl;
 
   std::system("pause");
}
 
Текущее время: 01:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru