2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 46
1

Последовательность. элементы .

09.03.2011, 01:55. Показов 1148. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана последовательность, расположить ее положительные элементы,
стоящие на нечетных местах по возрастанию

Последовательность задается пользователем.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2011, 01:55
Ответы с готовыми решениями:

Построить последовательность из 0 и 1, в которой Bi=1 если элементы i-го столбца образуют убывающую последовательность
Дана действительная квадратная матрица порядка n. Построить последовательность В1,В2,...,Вп из...

Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по убыванию произведений цифр
Здравствуйте. На форуме есть код подобный, но по возрастанию сумм элементов. Как мне подправить...

Образуют ли элементы ненулевого массива знакочередующуюся последовательность
Проверить, образуют ли элементы ненулевого массива знакочередующуюся последовательность. Помогите,...

Проверить, образуют ли элементы массива знакочередующуюся последовательность
Проверить, образуют ли элементы ненулевого массива знакочередующуюся последовательность.

2
Заблокирован
09.03.2011, 02:22 2
Лучший ответ Сообщение было отмечено daimonTM как решение

Решение

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
#include <iostream>
using namespace std;
 
int main()
{   
    int seq[12]={-1,4,22,-8,134,21,17,-12,90,25,100,-134};
    int subseq[6], i, j, k, cur;
        
//формирование подпоследовательности из подожительных элементов на
//нечетных позициях (с точки зрения человеческой, т.е. отсчет
//от первого соответствует нулевому в массиве)
    for(i=0,k=0;i<12;i+=2)
        if(seq[i]>0)
        {   subseq[k]=seq[i];
            k++;
        }
//сортировка
    for(i=0;i<k-1;i++)
        for(j=i+1;j<k;j++)
            if(subseq[j]<subseq[i])
            {   cur=subseq[i];
                subseq[i]=subseq[j];
                subseq[j]=cur;
            }
//вывод результата
cout<<"Original sequence\n";
for(i=0;i<12;i++)
    cout<<seq[i]<<"  ";
 
cout<<"\nSorted subsequence\n";
for(i=0;i<k;i++)
    cout<<subseq[i]<<"  ";
 
cin.get();
return 0;
 }
0
Эксперт С++
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
09.03.2011, 13:58 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
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
/////////////////////////////////////////////////////////////////////////////////////////
//Дана последовательность, расположить ее положительные элементы,
//стоящие на нечетных местах по возрастанию
//
//Последовательность задается пользователем. 
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <set>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef int                  T_num;
typedef std::vector<T_num>   T_nums;
typedef std::vector<T_num*>  T_p_nums;
typedef std::multiset<T_num> T_val_nums;
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите последовательность целых чисел разных знаков:" 
              << std::endl;
    T_nums  nums((std::istream_iterator<T_num>(std::cin)), (std::istream_iterator<T_num>()));
    
    struct  T_get_odd_positive_nums
    {
        bool        is_odd_;
        T_p_nums    p_odd_posit_nums_;        
        T_val_nums  odd_posit_nums_multiset;
        //-------------------------------------------------------------------------------
        T_get_odd_positive_nums() : is_odd_(true)
        {}
        //-------------------------------------------------------------------------------
        void  operator() (T_num&  num)
        {
            if(   is_odd_
               && num > 0)
            {
                p_odd_posit_nums_.push_back(&num);  
                odd_posit_nums_multiset.insert(num);
            }
            is_odd_ = !is_odd_;
        }
        //-------------------------------------------------------------------------------
        void  sort_odd_posit_nums_values()
        {
            T_val_nums::const_iterator  val_nums_elem_it = odd_posit_nums_multiset.begin();
            for(T_p_nums::iterator  p_num_it = p_odd_posit_nums_.begin();
                p_num_it != p_odd_posit_nums_.end(); ++p_num_it)
            {
                **p_num_it = *(val_nums_elem_it++);
            }
        }
    };
    
    std::for_each(nums.begin(), nums.end(), T_get_odd_positive_nums())
        .sort_odd_posit_nums_values();
 
    std::cout << "Введенная последовательнсть, в которой положительные элементы"
              << std::endl
              << "на нечетных местах отсортированы по возрастанию:"
              << std::endl;
    std::copy(nums.begin(), nums.end(), std::ostream_iterator<T_num>(std::cout, " "));
    std::cout << std::endl;
}
0
09.03.2011, 13:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2011, 13:58
Помогаю со студенческими работами здесь

Выяснить образуют ли элементы массива убывающую последовательность
Дан массив целых чисел Y. Выяснить образуют ли элементы массива убывающую последовательность.

Проверить, образуют ли элементы массива убывающую последовательность
Есть код, но он не корректно работает. Задание звучит так: Проверить, создают ли элементы массива...

Определить, образуют ли элементы целочисленного массива A (n) неубывающую последовательность
Добрый вечер.очень нужна помощь.... Написать программу, определяющую, образуют ли элементы...

Верно ли, что все элементы 1-ой последовательности входят во 2-ю последовательность
помогите пожалуйста написать программу)))) Даны натуральные n, m, целые a1, a2, ..., an и b1,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru