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

Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала - C++

Восстановить пароль Регистрация
 
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
06.02.2014, 21:18     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала #1
Помогите,ПОЖАЛУЙСТА!!!!!!!!

Заданный массив целых чисел K (n). Найти в нем минимальный kmin и максимальный kmax элементы. Вывести в порядке возрастания все целые числа из интервала (kmin, kmax), которые не встречаются в исходном массиве
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 21:18     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала
Посмотрите здесь:

C++ Вывести все целые числа, расположенные между данными числами, включая сами эти числа, в порядке их возрастания
Найти в массиве минимальный и максимальный элементы. Вывести последовательность значений из этого диапазона, не встречающихся в данном массиве C++
C++ Найти все целые решения уравнения ax^3 + bx^2 + cx + d = 0 на отрезке [0,1000] и вывести их в порядке возрастания
C++ Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов
C++ Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
06.02.2014, 21:33     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала #2
Цитата Сообщение от Lizkaliz Посмотреть сообщение
Заданный массив целых чисел K (n). Найти в нем минимальный kmin и максимальный kmax элементы. Вывести в порядке возрастания все целые числа из интервала (kmin, kmax), которые не встречаются в исходном массиве
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
int main()
{
    std::vector <int> vec = { 2, 2, 0, 2, 7, 3, 7, 1, 3, 7, 23 };
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n Maximal: " << *std::max_element(vec.begin(), vec.end());
    std::cout << "\n Minimal: " << *std::min_element(vec.begin(), vec.end())<<std::endl;
    std::sort(std::min_element(vec.begin(), vec.end()), std::max_element(vec.begin(), vec.end()));
    std::copy(std::min_element(vec.begin(), vec.end()) + 1, std::max_element(vec.begin(), vec.end()), std::ostream_iterator<int>(std::cout, " "));
    system("pause");
    return 0;
}
SHLAKBAUM
22 / 22 / 7
Регистрация: 29.09.2013
Сообщений: 51
06.02.2014, 21:37     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала #3
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>
 
using namespace std;
 
int main()
{
    const int n = 5;
    int K[n] = { 4, 1, 3, 5, 2 };
    int cur, min = K[0], max = K[0];
    for (int i = 1; i < n; i++)
    {
        if (K[i] < min)
            min = K[i];
        else if (K[i] > max)
            max = K[i];
    }
    do
    {
        cout << min++ << " ";
    } while (min <= max);
    system("pause");
    return 0;
}
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
06.02.2014, 22:49  [ТС]     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала #4
А почему выводиться 1,2,3,4,5????
SHLAKBAUM
22 / 22 / 7
Регистрация: 29.09.2013
Сообщений: 51
07.02.2014, 21:52     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала #5
Цитата Сообщение от Lizkaliz Посмотреть сообщение
А почему выводиться 1,2,3,4,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
#include <iostream>
 
using namespace std;
 
int main()
{
    const int n = 5;
    int K[n] = { 3, 1, 9, 2, 7 };
    int kmin = K[0], kmax = K[0];
    for (int i = 1; i < n; i++)
    {
        if (K[i] < kmin)
             kmin = K[i];
        else if (K[i] > kmax)
            kmax = K[i];
    }
    kmin++;
    bool b;
    do
    {
        b = false;
        for (int i = 0; i < n; i++)
        {
            if (K[i] == kmin)
            {
                b = true;
                break;
            }
        }
        if (!b)
            cout << kmin++ << " ";
        else
            kmin++;
    } while (kmin < kmax);
    system("pause");
    return 0;
}
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
08.02.2014, 19:23     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала #6
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
83
84
85
86
87
88
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
int main()
{
    srand(time(0));
    int n, min, max, min_i, max_i, counter = 0;
    cout << "K[n]\n" <<
            "Enter n: "; cin >> n;
    
    int* K = new int[n];
    
    for(int i = 0; i < n; i++)
    {
        if(!(i % 15))
            cout << endl;
        K[i] = 100 - (rand() % 200 + 1);
        cout << setw(4) << K[i];
    }
    
    min = max = K[0];
    
    for(int i = 0; i < n; i++)
    {
        if(min > K[i])
        {
            min = K[i];
            min_i = i;
        }
        if(max < K[i])
        {
            max = K[i];
            max_i = i;
        }
    }
    
    if(min_i > max_i)
    {
        int temp = min_i;
        min_i = max_i;
        max_i = temp;
    }  
    
    for(int i = min_i + 1; i < max_i; i++)
    {
        for(int j = min_i + 1; j < i; j++)
        {
            if(K[i] < K[j])
            {
                int temp = K[i];
                K[i] = K[j];
                K[j] = temp;
            }
        }
    }
    
    cout << "\n\n--------------------------\n\n";
    if(max_i - min_i == 1)
        cout << "No element's";
    else
    {
        for(int i = min_i + 1; i < max_i; i++)
        {
            for(int j = 0; j < min_i; j++)
            {
                if(K[i] == K[j])
                    counter++;
            }
            for(int j = max_i + 1; j < n; j++)
            {
                if(K[i] == K[j])
                    counter++;
            }
            if(!(counter))
                cout << setw(4) << K[i];
            counter = 0;
        }
    }
    
    cout << "\n\n";
    
    delete [] K;
    
    system("pause");
    return 0;    
}
Yandex
Объявления
08.02.2014, 19:23     Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала
Ответ Создать тему
Опции темы

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