С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
sanleo
3 / 3 / 0
Регистрация: 21.05.2010
Сообщений: 54
#1

Упорядочите массив S(13) в порядке убывания модулей его членов. - C++

15.10.2011, 11:26. Просмотров 608. Ответов 6
Метки нет (Все метки)

Упорядочите массив S(13) в порядке убывания модулей его членов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2011, 11:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочите массив S(13) в порядке убывания модулей его членов. (C++):

Сформировать файл из действительных чисел. Найти расположенные в порядке убывания их модулей - C++
В этой программе представлен алгоритм решения: Сформировать файл из действительных чисел. Найти наибольшее из значений модулей...

Упорядочите элементы массива по убыванию модулей элементов - C++
Упорядочите элементы массива по убыванию модулей элементов

Массив в порядке убывания - C++
:help:Срочно нужно массив в порядке убывания зафигачить с помощью любого алгоритма,хоть от болды!!!пожаааалуйста....))))))но одно условие...

Отсортировать Массив в порядке убывания - C++
#include <iostream> using namespace std; int main() { int a, j; cout << "Vvedite massiv" << endl; for (int i = 0; i<9; i++) cin...

Массив структур. Должники в порядке убывания - C++
Данные о жильцах дома и задолженности по ЖКХ (ФИО, № квартиры, сумма задолженности) хранятся в виде массива структур. Написать фрагмент...

Упорядочить массив в порядке возрастания и убывания - C++
1 Вариант. Заранее спасибо :)

6
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
15.10.2011, 11:34 #2
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
#include <iostream>
#include <algorithm>
#include <math.h>
#include <vector>
 
bool max1 (int a, int b)
{
    return (abs(a)>abs(b));
}
 
 
int main()
{
    std:: vector <int> v;
    int n,c;
    std:: cin >> n;
    for (int i=0;i<n;++i)
    {
        std:: cin >> c;
        v.push_back(c);
    }
 
    std::sort(v.begin(),v.end(),max1);
    for (int i=0;i<v.size();++i)
        std:: cout << v[i] << " ";
    system ("pause");
    return 0;
}
1
Байт
Нарушитель
Эксперт C
16694 / 10958 / 1687
Регистрация: 24.12.2010
Сообщений: 21,378
15.10.2011, 11:37 #3
Простейшее - "Пузырек"
C
1
2
3
4
5
6
7
for(j=0; j<N-1; j++) {
  for(i=j; i<N-1; i++) {
    if (fabs(S[i]) < fabs(S[i+1]) {
       tmp = S[i]; S[i] = S[i+1]; S[i+1] = tmp;
    }
  }
}
1
Ma3a
Эксперт С++
619 / 463 / 31
Регистрация: 28.01.2011
Сообщений: 605
15.10.2011, 11:43 #4
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
#include <iostream>
#include <random>
#include <vector>
#include <functional>
#include <ctime>
#include <algorithm>
#include <cmath>
 
struct modulus_compare
   {
   bool const operator() (int const left, int const right) const
      {
      return std::abs(left) > std::abs(right);
      }
   };
 
int main()
   {
   std::vector<int> S(13);
   
   std::mt19937 engine;
   engine.seed(std::time(0));
   std::uniform_int_distribution<> gen(-100, 100);
   
   std::generate(S.begin(), S.end(), std::bind(gen, engine));
   
   std::sort(S.begin(), S.end(), modulus_compare());
   
   for(int const val : S)
      std::cout << val << ' ';
   std::cout << std::endl;
   }
2
Байт
Нарушитель
Эксперт C
16694 / 10958 / 1687
Регистрация: 24.12.2010
Сообщений: 21,378
15.10.2011, 11:45 #5
Dani, Мне все-таки кажется, что ТС интересует АЛГОРИТМ, а не использование библиотечных функций. Если я ошибаюсь, то можно предложить и такое
C
1
2
3
4
5
6
7
8
9
10
cmp(double *a, double *b)
{ 
  return(fabs(*a) > fabs(*b));
}
main()
{
  // Объявления и ввод
  qsort(S, N, sizeof(double), cmp);  // Мог перепутать порядок параметров
  // Вывод
}
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
15.10.2011, 11:47 #6
Цитата Сообщение от Байт Посмотреть сообщение
интересует АЛГОРИТМ, а не использование библиотечных функций
про это ничего не было сказано, и ТС может нужна сортировка шелла. Поэтому я написал не опускаясь в подробности сортировки.
0
Байт
Нарушитель
Эксперт C
16694 / 10958 / 1687
Регистрация: 24.12.2010
Сообщений: 21,378
15.10.2011, 11:50 #7
Dani, Ну и слава Богу. Теперь ТС есть из чего выбирать
2
15.10.2011, 11:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2011, 11:50
Привет! Вот еще темы с ответами:

Отсортировать массив М и строки матрицы А в порядке убывания - C++
Отсортировать массив М(50) и строки матрицы А(6х7) в порядке убывания

Найти максимальный элемент этого массива и отсортировать его вправо и влево в порядке убывания элементов - C++
Дано: линейный массив из 17-ти целых чисел, числа заданы рандомно и сам массив вынесен на экран Требуется найти максимальный элемент...

Нужно отсортировать массив в порядке убывания длин векторов С++ - C++
Данный массив А - массив векторов. Отсортировать его в порядке убывания длин векторов. Разработать класс, объект которого реализует ...

Упорядочить массив в порядке убывания суммы цифр элементов - C++
Вот мой код, но он не работает: #include &lt;iostream&gt; using namespace std; int sumcifr (int a) { int b,s; s=0; while (a&gt;0)...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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