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

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

Войти
Регистрация
Восстановить пароль
 
newby
2 / 2 / 0
Регистрация: 23.12.2009
Сообщений: 11
#1

Очередной вопрос по сортировке.. - C++

23.12.2009, 09:15. Просмотров 446. Ответов 4
Метки нет (Все метки)

Ребят, помогите пожалуйста...всё никак не могу понять, как сортировать массив...

Задача:
Разделить массив на две части, поместив в первую эл-ты, большие среднего арифметического их суммы, а во вторую - меньшие (части не сортировать).

Первую половину программы я уже написал:
Заполнил рандомно массив (кол-во элементов считайте равным 10), нашел их сумму, среднее арифметическое...а дальше голову сломал.


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
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
        int A[10]; //Исходный массив
        int i;
        int sum;
        float ar; //Среднее арифметическое суммы элементов массива
randomize();
printf("A:\n");
for (i=0; i<10; i++)
printf("%i ", A[i] = random(10)); //Заполнение массива случайными числами в инт. от 1 до 10
getch();
        sum=0;
        for (i=0; i<10; i++)
        sum=sum+A[i];
        printf("\n");
        printf("====================");
        printf("\n");
        printf("Cymma=");
        printf("%d", sum );
printf("\n");
printf("====================");
printf("\n");
printf("CPEDHEE AP.=");
printf("%f", ar=(sum*0.1));
getch();
}
P.S.
Если вдруг кого-то не затруднит объяснить - объясните пожалуйста готовым кодом, потому что на словах я вчера аж 3 способа нашел, но так и не смог правильно реализовать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2009, 09:15     Очередной вопрос по сортировке..
Посмотрите здесь:

Вопрос по TMemo и сортировке вектора списков. - C++
Здравствуйте! Есть вектор списков, нужно отсортировать по возрастанию первого элемента каждого списка вектора. Вот пример. vector&lt;...

Union в очередной раз - C++
Здравствуйте! Решил на практике попробовать этот самый union. Программа должна выводить число short int, а так же старший и младший...

в очередной раз рекурсия - C++
функция f(n) определяется рекурсивно f(2*n)=f(n),f(2*n+1)=f(n)+f(n+1),f(0)=0,f(1)=1, Написать программу вычисляющую функцию f(n).

Очередной Aeroflot, но немного другой - C++
Описать структуру AEROFLOT... Организовать: ввод данных, вывод, редактирование, удаление, поиск, сортировку, чтение и запись в файл. В...

Очередной по getline() или потоки ввода - C++
Всем привет! :drink: Ребятки, такая трабла, прога добавляет студентов в группу, при добавлении 2го студента ф-ция getline() непонятно для...

очередной разбор ошибок. системы счисления - C++
Конечно задание делала по примерам,можно сказать собирала по кусочкам, пыталась.. А теперь не могу понять правильно или нет сделала потому...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
23.12.2009, 09:27     Очередной вопрос по сортировке.. #2
"идешь" в двух сторон.
слева нашел элемент меньше СА(среднего арифметического), справа больше.
обменял их местами, идешь дальше.

PS. и вот только не нужно писать что ты это не сможешь реализовать)
mamedovvms
2916 / 837 / 93
Регистрация: 30.04.2009
Сообщений: 2,624
23.12.2009, 09:38     Очередной вопрос по сортировке.. #3
а если сделать проще и добавлять только те которые меньше, тогда те которые больше остануться в другой половине или наоборот

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sr=????{это уже полученное среднее значение}
k=0;
for (int i=0;i<n;i++)
{
   if (a[i]>sr)
   { 
      temp=a[i];
 
      for (int j=i;j>k;j--)
      {
         a[j]=a[j-1];
      }
      a[k]=temp;
      k++;
   }
}
newby
2 / 2 / 0
Регистрация: 23.12.2009
Сообщений: 11
23.12.2009, 18:34  [ТС]     Очередной вопрос по сортировке.. #4
Цитата Сообщение от R0mm Посмотреть сообщение
PS. и вот только не нужно писать что ты это не сможешь реализовать)
А почему не нужно?) Практики у меня ооочень мало...написано всего 4-5 наипростейших программ) Вот так вот...)


mamedovvms, огромное тебе спасибо! Сейчас до конца разберусь и буду учить методы сортировки))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2009, 16:05     Очередной вопрос по сортировке..
Еще ссылки по теме:

Ошибка в сортировке - C++
#include &lt;iostream&gt; using namespace std; int main() { int A, c; for (int i = 0; i &lt; 3; i++) { for (int j = 0; j &lt; 3;...

Счетчик в сортировке - C++
Помогите исправить ошибки: template &lt;class type&gt;float sortV(type *b,long n) { type a,i,j; float c; for (i=0;i&lt;n;i++) ...

Ошибка в сортировке - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; int const N = 5; using namespace std; class book{ ...

Ошибка в сортировке - C++
Часть программы я сделал, но сортировка массива выходит кривой, та строка, которая после сортировки должна быть первой, внезапно...


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

Или воспользуйтесь поиском по форуму:
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
24.12.2009, 16:05     Очередной вопрос по сортировке.. #5
Цитата Сообщение от mamedovvms Посмотреть сообщение
а если сделать проще и добавлять только те которые меньше, тогда те которые больше остануться в другой половине или наоборот
ты уверен что это проще?
число операций глянь в моем и своем методе)
Yandex
Объявления
24.12.2009, 16:05     Очередной вопрос по сортировке..
Ответ Создать тему
Опции темы

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