0 / 0 / 0
Регистрация: 11.03.2020
Сообщений: 38
1

Заменить элементы которые находятся в порядке возрастания на "-1"

22.09.2021, 22:24. Показов 770. Ответов 1

Author24 — интернет-сервис помощи студентам
Всем привет!

Преподаватель сказал сделать отсортировать массив. Я сделал его пузырьком (хотя какой метод сортировки - неважно).
Показал преподавателю - все хорошо. Но сказал так: "теперь замени элементы которые находятся в порядке возрастания на "-1" в Отсортированном-массиве".

как я понял то сделать надо так:
Например:
Исходный массив: -10 5 11 0 -4 2 3 4 8

Меняем последовательные числа (если они присутствуют), а именно как в Примере (2 3 4) на (-1 -1 -1). И вывести в Отсортированный-массив.

Отсортированный-массив: -10 -4 -1 -1 -1 0 5 8 11

Как реализовать это? Благодарю)

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
#include <iostream>
#include <ctime>
#include "Windows.h"
#include <conio.h>
 
using namespace std;
 
void arraygen(double* arr, int num);
void  bubble(double* arr, int num);
void arraycout(double* arr, int num);
int Search(double* arr, int num, double key);
 
int main()
{
    setlocale(LC_ALL, "rus");
    cout << " Cортировка массива: \n";
    
    int num;        // размер массива
    cout << "Размер массива: ";
    cin >> num;    // получение от пользователя размера массива
 
    double* arr = new double[num];   // Выделение памяти для массива
    cout << "\nИсходный массив: \n";
 
    arraygen(arr, num);   //ген масива
    arraycout(arr, num); //вывод масива
    bubble(arr, num);   //сортування
 
    cout << endl << "\n Сортировка по возростанию: " << endl;
    arraycout(arr, num);
    cout << endl ;
}
 
void arraygen(double* arr, int num)
{
    for (int i = 0; i < num; ++i)
    {
        cout << "arr[" << i+1 << "] = ";
        cin >> arr[i];
    }
    cout << "\n";
}
 
void arraycout(double* arr, int num)
{
    for (int i = 0; i < num; i++)
    {
        // Заполнение массива и вывод значений его элементов
        if (i % 10 == 0) cout << endl;
        cout << arr[i] << "  ";
    }
}
 
void bubble(double* arr, int n)
{
    int  i, j;
    double tmp;
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = 0; j < n - i - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                // меняем элементы местами
                tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
}
 
int  Search(double* arr, int num, double key)
{
    for (int i = 0; i < num; i++)
        if (arr[i] == key)
            return i;
    return 1;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2021, 22:24
Ответы с готовыми решениями:

Вывести в порядке возрастания все целые числа, которые находятся между A и B
добрый вечер, уважаемые студенты, а также все любители писать код на С++ Builder XE4. помогите,...

Элементы первого подмассива сгруппировать в порядке возрастания, второго - в порядке убывания, третьего - в порядке возрастания и т.д.
Вещественный массив содержит несколько отрицательных элементов, разделяющих его на отдельные...

Заменить единицами те элементы которые находятся после малейшего
Дан одномерный массив Х, который состоит из 12 элементов. Заменить единицами те элементы которые...

Заменить в матрице элементы нулями которые находятся в строках кратных трем
Помогите пожалуйста!!!!!!! запросить у пользователя размерность квадратной матрицы, создать...

Отсортировать элементы строк матрицы в порядке возрастания, а строки - в порядке возрастания сумм элементов
Задать с клавиатуры количество целочисленных матриц. Данные получить с помощью датчика случайных...

1
79 / 53 / 26
Регистрация: 08.09.2019
Сообщений: 141
23.09.2021, 00:13 2
Цитата Сообщение от jness100500 Посмотреть сообщение
Исходный массив: -10 5 11 0 -4 2 3 4 8
Меняем последовательные числа (если они присутствуют), а именно как в Примере (2 3 4) на (-1 -1 -1). И вывести в Отсортированный-массив.
Отсортированный-массив: -10 -4 -1 -1 -1 0 5 8 11
Я думаю, что вот так :
-10 5 11 заменяем (-1 -1 -1), -4 2 3 4 8 (-1 -1 -1 -1 -1).
Отсортированный массив: -1 -1 -1 -1 -1 -1 -1 -1 0
0
23.09.2021, 00:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2021, 00:13
Помогаю со студенческими работами здесь

Массив. Вывести в порядке убывания те элементы массива, которые не находятся между минимальными и максимальными.
дан массив целых чисел. Вывести в порядке убывания те элименты массива, которые не находятся между...

Заменить все отрицательные элементы вектора на их квадраты и отсортировать в порядке возрастания
Буду очень благодарна,если напишите программу. Дан вещественный вектор А . Заменить все...

Вывести в порядке возрастания те элементы массива, которые больше заданного числа А
Дан одномерный массив, состоящий из n действительных чисел. Написать программу, которая выводит в...

Вывести в порядке возрастания те элементы массива, которые больше заданного числа
const N=10; type mas=array of integer; procedure vvod(var a:mas); var i:byte; begin randomize;...

Напечатать в порядке возрастания элементы множества, которые делятся нацело на 3 или 8.
program upr1; const n =20; type mas=array of byte ; mn=set of byte; var k,c:integer;...


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

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

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