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

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

Войти
Регистрация
Восстановить пароль
 
kaiwa
0 / 0 / 0
Регистрация: 01.07.2013
Сообщений: 40
#1

Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность - C++

18.04.2014, 09:37. Просмотров 363. Ответов 1
Метки нет (Все метки)

Дана последовательность действительных чисел X1,X2,X3,…,Xn (n>2, заранее неизвестно). Если последовательность отсортирована по возрастанию, то оставить ее без изменения. Иначе. Получить последовательность Xn,Xn−1,Xn−2,…,X1.
У меня есть обычный список, как запихнуть туда сортировку как в задании?

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
#include <iostream>
#include <ctime>
#include <iomanip>
#include <stdlib.h>
using namespace std;
 
const int N=16 ;  
 
 
typedef struct Pnode Tnode;
 
struct Pnode
{
    int Item;
    Tnode * Next;
};
 
void AddList( Tnode * List, int newElem){   // Добавить элемент в список
    Tnode * newNode;
    newNode = new Tnode;
    newNode -> Item = newElem;
    newNode -> Next = NULL;
    while (List -> Next != NULL) 
        List = List -> Next;
    List -> Next = newNode;
}
 
void PrintList( Tnode * List){ // Распечатать список
    while (List != NULL){
        cout << setw(3) << List -> Item << ' ';
        List = List -> Next;
    }
    cout << endl;
}
 
 
int main()
{
    srand(time(0));
 
    Tnode * A; // определяем список A
    A = new Tnode;  
    A -> Item = rand() % 9 + 1;  // Вносим первый элемент
    A -> Next = NULL;
    for (int i = 1; i < N; i++ ) //  заносим еще N-1 элемент
        AddList( A, rand() % 9 +1);
    PrintList( A);   
 
    Tnode * Last = A;  // находим последний элемент списка
    while (Last -> Next != NULL) 
        Last = Last -> Next; 
 
    Tnode * X = A;    // печатаем список, вычитая значение Item последнего элемента
    while ( X != NULL)
    {
        cout << setw(3) << X -> Item - Last -> Item << ' ';
        X = X -> Next;
    }
    cout << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 09:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность (C++):

Оставить без изменения последовательность, если она упорядочена - C++
Даны целые числа а1...аn, где n - целое положительное число (n&lt;=100). Оставить без изменения последовательность, если она упорядочена по...

Если введенный список упорядочен по возрастанию, то оставить его без изменения - C++
Построить линейный список из нескольких динамических переменных, содержащих вводимые целые числа. Если введенный список упорядочен по...

Даны действительные числа a1.an , где n – натуральное число. Оставить без изменения последовательность a1 - C++
Даны действительные числа a1...an , где n – натуральное число. Оставить без изменения последовательность a1....an, если она упорядочена по...

Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом - - C++
Дан текст. Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +,...

Если в строке нет символа +, то оставить строку без изменений, иначе каждую из цифр перед символом + заменять на * - C++
Ввести символьный массив из 12 символов. Если в тексте нет символа +, то оставить без изменений, в другом случаи каждую из цифр перед...

Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим, а большое оставить без изменения - C++
Дано 2 целых числа, каждое из низ не больше 2*10^9 по модулю. Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим,...

1
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
18.04.2014, 09:41 #2
А где там сказано про сортировку? Это же обратная последовательность.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2014, 09:41
Привет! Вот еще темы с ответами:

Превратите последовательность b1,..., b25 по правилу, согласно которому если ai <0, то bi увеличивается в 10 раз, иначе bi заменяется нулем - C++
Пусть данные целые числа а1,..., a25, b1,..., b25. Превратите последовательность b1,..., b25 по правилу, согласно которому если ai &lt;0, то...

Получить сумму членов исходной последовательности если преобразованная последовательность неубывающая - C++
Помогите!!! Дана последовательность действительных чисел A(n). Если в результате замены отрицательных членов последовательности их...

Если длина строки больше 10 - оставить первые 6 символов, иначе дополнить строку символами 'о' - C++
Дана строка.Если ее длина больше 10,то оставить в строке только первые 6 символов,иначедополнить строку символами 'о' до длины 12.

Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения - C++
Дан массив С, состоящий из N элементов (N &lt;10). Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное...


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

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

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