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

Отсортировать числа между min и max по количеству четных цифр - C++

Восстановить пароль Регистрация
 
Felixxx
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 3
21.03.2013, 22:18     Отсортировать числа между min и max по количеству четных цифр #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
77
78
79
80
81
82
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
 
 
int main()
{   void Swap(int *a, int *b);
    int func(int x);
    int num; 
    cout << "Enter integer value: ";
    cin >> num;
    srand(time(NULL));
 
    int *p_darr = new int[num]; 
    for (int i = 0; i < num; i++) {
        
        p_darr[i] = rand() %20 -5 ;
        cout << p_darr[i] << " " ;
    }
    
int *min;
int *max;
 
for (  i=0; i <num; i=i+2)
{   int *p=&p_darr[i];
    if (*p>0) min=p;
}
 
 
for (i=0; i <num; i=i+2)
{   int *p=&p_darr[i];
    if (*p<0) max=p;
}
 
 for (  i=0 ; i <num; i=i+2)
 {
    int *p=&p_darr[i];
    if (*p>*max && *p<0) max = p; 
    if (*p < *min && *p>0) min = p; 
  }
    cout << endl;
    cout <<*min<<" "<<*max<<endl;
int *bg=min;
int *ed=max;
if(max-min<0)
{ bg=max;
ed=min;}
 
int *j=&p_darr[0];
int *k=&p_darr[0];
for ( k=bg+1;k<ed-1;k++){
    for ( j=bg+2;j<ed;j++){
    
 
if (func(*k)>func(*j))
{  Swap(k, j);}
}
}
 
for ( k=bg+1;k<ed;k++)
cout <<*k<<" ";
delete [] p_darr; 
system("pause");
    
  
}
int func (int x){   
    int count = 0;
    while (x!=0) {
    int tmp =x%10;
       if(!(tmp % 2))
                ++count;
       x/=10;}
       return count;
}
 
void Swap(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2013, 22:18     Отсортировать числа между min и max по количеству четных цифр
Посмотрите здесь:

C++ Вывести элементы, находящиеся между min и max
C++ количество чисел между max и min значением
C++ Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c)
C++ Найти max и min, если min левее max, то среднее арифметическое между ними
Занулить элементы в матрице между min и max C++
Поменять местами max и min четных строк матрицы (без функции) C++
Поменять местами max и min четных строк в квадратной матрице C++
Двумерный массив. Поменять местами max и min четных строк C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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