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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.78
Best-pm07
..:::BesT:::..
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
#1

Упорядочить массив по убыванию (чуть поправить программу) - C++

01.04.2009, 00:34. Просмотров 6814. Ответов 4
Метки нет (Все метки)

В этой программе массив упорядыватся по возрастанию:
Название: Безымянный.JPG
Просмотров: 2488

Размер: 7.9 Кб

Помогите этот код переписать с подпрограммами и по убыванию

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
void main() {
int k,n,i,b,C,j;
int*A;
cout<<"Введите n=";
cin>>n;
A=new int[n];
for(i=0;i<n;i++) {
cout<<"a["<<i+1<<"]=";
cin>>A[i]; }
k=0;  j=n;  C=0;
do {
for(i=0;i<j-1;i++) {
if(A[i]>A[i+1]) {
b=A[i];
A[i]=A[i+1];
A[i+1]=b;
k++; }
C++; }
j--; }
while(k!=0&&j>0);
for(i=0;i<n;i++)
{cout<<" "<<A[i]<<" ";}}
Помогите, прошу
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2009, 00:34     Упорядочить массив по убыванию (чуть поправить программу)
Посмотрите здесь:
Сортировка в лексографическом порядке(только чуть поправить код) C++
C++ Упорядочить массив по убыванию
C++ Массив: Упорядочить строки массива по убыванию
C++ Одномерный массив 10 символов.упорядочить по убыванию
C++ Упорядочить массив по убыванию суммы цифр элементов
Упорядочить массив по убыванию количества нулей в числе C++
C++ Упорядочить массив по убыванию элементов, найти минимальный элемент
C++ Упорядочить массив по убыванию количества взаимно простых чисел
Массив из положительных элементов (сформировать и упорядочить отобранные значения по убыванию) C++
C++ Упорядочить массив по убыванию, найти число положительных/отрицательных/нулей
C++ В массиве A(n) удалить все отрицательные числа ,затем массив упорядочить по убыванию
Задали массив действительных чисел х1, х2, ..., хn. Упорядочить элементы этого массива по убыванию. C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NightmareZ
1339 / 562 / 37
Регистрация: 31.03.2009
Сообщений: 1,918
01.04.2009, 01:12     Упорядочить массив по убыванию (чуть поправить программу) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
 
int main()
{
    std::vector<int> v;
    int input;
    while (std::cin >> input) v.push_back(input);
    std::sort(v.begin(), v.end(), std::greater<int>());
    for (std::vector<int>::iterator it = v.begin(); it != v.end(); it++)
        std::cout << *it << std::endl;
}
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
01.04.2009, 01:48     Упорядочить массив по убыванию (чуть поправить программу) #3
If (a[i]>a[i+1]) меняешь на If (a[i]<a[i+1]) получишь сортировку по убыванию.
Best-pm07
..:::BesT:::..
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
01.04.2009, 11:41  [ТС]     Упорядочить массив по убыванию (чуть поправить программу) #4
kazak, да да что по убыванию, то я уже понял а вот не могли бы вы
переписать мою эту прогу с подпрограммами?
только с теми же библиотеками
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
01.04.2009, 12:41     Упорядочить массив по убыванию (чуть поправить программу) #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
62
#include <iostream.h>
int* CreateArray(const int); // создание массива
void FillArray(int *, const int); // заполнение массива
void SortArray(int *, const int); // сортировка массива
void PrintArray(const int *, const int); // вывод массива
 
void main()
{
   int n;
   int *a = NULL;
 
   cout << "Введите n= ";
   cin >> n;
   a = CreateArray(n);
   FillArray(a, n);
   SortArray(a, n);
   PrintArray(a, n);
 
   system("pause");
}
 
int * CreateArray(const int size)
{
   int *arr = new int[size];
   return arr;
}
 
void FillArray(int *arr, const int size)
{
   for (int i = 0; i < size; i++)
   {
      cout << "a[" << (i + 1) << "]=";
      cin >> arr[i];
   }
}
 
void SortArray(int *arr, const int size)
{
   int k = 0, j = size, C = 0, b;
   do
   {
      for(int i=0;i<j-1;i++)
      {
         if(arr[i] < arr[i+1])
         {
            b=arr[i];
            arr[i]=arr[i+1];
            arr[i+1]=b;
            k++;
         }
         C++;
      }
      j--;
   }
   while(k != 0 && j > 0);
}
 
void PrintArray(const int *arr, const int size)
{
   for (int i = 0; i < size; i++)
      cout << " " << arr[i] << " ";
}
Yandex
Объявления
01.04.2009, 12:41     Упорядочить массив по убыванию (чуть поправить программу)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru