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

сортировка по убыванию с использованием указателя - C++

Восстановить пароль Регистрация
 
Alexandri
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 46
03.03.2013, 18:29     сортировка по убыванию с использованием указателя #1
Все перепробовала, у меня никак не получается сделать сортировку по убыванию с указателем. Можете дописать часть кода?
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include<iostream>
#include <math.h>
#include<stdlib.h>
#include <ctime>
#include <algorithm>
#include <functional> 
#include <cstdlib>
using namespace std;
 
void sum(int *mass, int numberMass);
void (*sumFunction)(int*, int);   
void mnogabs(int*mass, int numberMass);
int *findMax( int *mass, int numberMass );
 
 
int main()
{
    int numberMass;
    int i;
cout<<"Vvedite razmernost massiva: ";
cin>>numberMass;
int*mass=new int[numberMass];//Объявляем динамический массив mass размерностью numberMass
 srand(time(0));
    for (int* elementMass = mass, i = 0; elementMass < mass + numberMass; ++elementMass, ++i) 
    {
        *elementMass = ((rand() % 10) < 5) ? (rand() % 101) : -(rand() % 101);
        cout << *elementMass<<endl;
    }
    sumFunction = sum;
    sumFunction(mass, numberMass);
    sumFunction = mnogabs;
    sumFunction(mass, numberMass);
    
return 0;
}
 
void sum(int *mass, int numberMass)
{
   int sum=0;
  for (int* elementMass = mass, i = 0; elementMass < mass + numberMass; ++elementMass, ++i) 
       if(*elementMass>0)
           sum+=*elementMass;
   cout<<"Summa = "<<sum<<endl;
}
 
void mnogabs(int*mass, int numberMass)
{
    int maxElement=abs(mass[0]),minElement=abs(mass[0]), maxIndex=0, minIndex=0, umnog=1;
     for (int* elementMass = mass, i = 0; elementMass < mass + numberMass; ++elementMass, ++i) 
     {
     if(abs(*elementMass)>maxElement)
     {
         maxElement = abs(*elementMass);
         maxIndex=i;
     }
     if(abs(*elementMass)<minElement)
      {
         minElement=abs(*elementMass);
         minIndex=i;
      }
     }
    if(maxIndex<minIndex)
    {
        int temp = minIndex;
        minIndex = maxIndex;
        maxIndex = temp;
    }
    for (int* elementMass = mass, i = 0; elementMass < mass + numberMass; ++elementMass, ++i) 
    {
        if(i>minIndex & i<maxIndex)
        {
            umnog=umnog* *elementMass;
        }
    }
    cout<<"Proizvedenie = "<<umnog<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 18:29     сортировка по убыванию с использованием указателя
Посмотрите здесь:

C++ Как обратиться к элементу массива с использованием указателя
Сортировка списка по убыванию C++
Сортировка массива по убыванию C++
С использованием функций и указателей отсортировать строки массива строк по убыванию C++
Программа с использованием функции и указателя C++
Сортировка массива по убыванию C++
C++ Задача с использованием структуры и указателя
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
03.03.2013, 18:43     сортировка по убыванию с использованием указателя #2
а где тут сортировка?
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 18:57     сортировка по убыванию с использованием указателя #3

Не по теме:

Напоминает моего однокурсника, который с б/у лабой пришёл к преподу на сдачу, а когда завалил, начал выспрашивать препода, где у него в лабе ошибка.



Alexandri, сортировку какую? Такую сойдёт? Тебе нужно-то функцию поменять местами сделать, остальное в википедии есть.
Alexandri
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 46
03.03.2013, 19:02  [ТС]     сортировка по убыванию с использованием указателя #4
а где тут сортировка?
тут ее нет, я прошу ее дописать
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 19:13     сортировка по убыванию с использованием указателя #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
void stoogesort(int *item, int left,int right)
{
   register int tmp, k;
   if(item[left]>item[right])
   {
      tmp=item[left];
      item[left]=item[right];
      item[right]=tmp;
   }
   if((left+1)>=right)
        return;
 
   k=(int)((right-left+1)/3);
   stoogesort(item,left, right-k);
   stoogesort(item, left+k, right);
   stoogesort(item, left, right-k);
}
 
 
//int main()
//{
//int mass[]={1,3,5,7,9,0,8,6,4,2}; //10
//stoogesort(mass,0,9);
//for (int i = 0; i < 10; ++i)
//printf("%d ",mass[i]);
//printf("/nLOL, stoogesort/n");
//return 0;
//}
А теперь, уважаемые знатоки, вопрос: какие и сколько строк кода было честно скопировано с Википедии?
XRuZzz
Антикодер
603 / 504 / 25
Регистрация: 15.09.2012
Сообщений: 2,449
03.03.2013, 20:02     сортировка по убыванию с использованием указателя #6
можно скопировать отсюда Алгоритмы сортировки
icpu
03.03.2013, 20:06
  #7

Не по теме:

XRuZzz, зачем, у меня хороший алгоритм, всего n^3 операций. Это же ОЧЕНЬ БЫСТРО!

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 21:00     сортировка по убыванию с использованием указателя
Еще ссылки по теме:

C++ Сортировка массива по убыванию
C++ Сортировка списка по убыванию
Сортировка массива по убыванию C++
C++ Сортировка вектора по убыванию
C++ Переденлать программу обработки вектора с использованием рабочего указателя

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

Или воспользуйтесь поиском по форуму:
XRuZzz
03.03.2013, 21:00     сортировка по убыванию с использованием указателя
  #8

Не по теме:

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

Yandex
Объявления
03.03.2013, 21:00     сортировка по убыванию с использованием указателя
Ответ Создать тему
Опции темы

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