Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 10

Упорядочить заданный массив по возрастанию; найти максимальный по модулю элемент

12.06.2018, 13:34. Показов 1477. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести символ с клавиатуры.
1.Если символ есть «Х», то из массива А(К), заполненным случайным образом от 0 до 9 переписать эти числа в порядке возрастания в массив В(К).
2.Если символ есть «Z», то используя подпрограмму в известных матрицах Р(N,N) и Q(M,M) найти и отпечатать максимальные по модулю отрицательные элементы.
3.Если символ есть «T», то создать целочисленный файл. Преобразовать его так: записать +1 вместо максимального элемента и -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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std; // чтобы не записывать std::cin
 
                     //генерируем целый случайный массив
int main(void)
{
    void int_massiv();
 
    // определяем переменные
    int a[10];
    int i;
 
    srand(time(0)); // инициализация генерации случайных чисел
 
                    //генерируем целый случайный массив из 10 элементов от 0 до 9
    for (i = 0; i < 10; i++)
        a[i] = 0 + rand() % 9;
    for (i = 0; i < 10; i++)
        cout << a[i] << " "; // вывод результата на экране
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.06.2018, 13:34
Ответы с готовыми решениями:

Упорядочить массив С(12), состоящий из элементов А, по возрастанию, найти минимальный по модулю элемент
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; const int m=3,n=4; void main() { ...

Дана матрица А(3,4).Упорядочить массив С(12), состоящий из элементов А, по возрастанию, найти минимальный по модулю элемент.
Помогите решить задачу: Дана матрица А(3,4).Упорядочить массив С(12), состоящий из элементов А, по возрастанию, найти минимальный по...

Найти минимальный и максимальный элемент массива. Упорядочить элементы по возрастанию. Определить входит ли в массив X
Дан массив чисел. Найти минимальный и максимальный элемент массива. Упорядочить элементы по возрастанию. Определить входит ли в массив...

1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
20.09.2018, 23:39
Цитата Сообщение от Loni Посмотреть сообщение
из массива А(К), заполненным случайным образом от 0 до 9 переписать эти числа в порядке возрастания в массив В(К).

Loni
, здравствуйте! Вот несколько вариантов ответа на первый вопрос:

Вариант 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
/*
Дата и время написания программы:
 
20.09.2018
21:48
 
Условие задачи:
 
Из массива a(n), заполненного случайным образом от 0 до 9, переписать элементы в порядке возрастания в массив b(n).
 
Алгоритм:
 
1. Определяем переменную целого типа для задания размера массивов a и b.
2. Определяем функцию srand(time(NULL)) для генерации случайных чисел из диапазона [0; 9].
3. Задаем начальный размер для двух массивов a и b.
4. Объявляем два одномерных динамических массива заданного размера.
5. Заполняем массив a[n] случайным образом с помощью формулы a + rand % (b - a + 1), где [a; b] - интервал случайного распределения
6. Сортируем массив a[n] методом Пузырька и, на каждом шаге, копируем элементы в массив b[n].
7. Выводим отсортированный масcив b[n].
8. Очищаем память, выделенную под оба массива.
 
Решение:
*/
 
#include <iostream>
#include <ctime>
#include <cstdlib>
 
    using namespace std;
    
int main() {
    int n; //Объявляем переменную целого типа (хранит число элементов для обоих массивов) 
    srand(time(NULL)); //Чтобы при каждом новом запуске программы генерировались новые случайные числа
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n; //Вводим размерность массива
    int* a = new int[n]; //Объявляем одномерный динамический массив a размером n
    int* b = new int[n]; //Объявляем одномерный динамический массив b размером n
    cout << "A random array:\n";
    for (int i = 0; i < n; i++) {
        a[i] = rand() % 10; //Генерируем случайные числа из диапазона [0; 9] //a + rand % (b - a + 1) 
        cout << a[i] << " "; //Выводим элементы сгенерированного массива
    }
    for (int i = 0; i < n; i++) {
        for (int j = n - 1; j > i; j--) {
            if (a[j] < a[j-1]) {
                swap(a[j], a[j-1]); //Упорядочиваем элементы массива a[n] методом Пузырька
            }
        }
        b[i] = a[i]; //Копируем элементы из a[n] в b[n]
    }
    cout << "\nOutput of the program:\n";
    for (int i = 0; i < n; i++) {
        cout << b[i] << " "; //Выводим элементы массива b[n], заполненного по возрастанию
    }
    delete [] a; //Высвобождаем память, выделенную под одномерный динамический массив
    delete [] b; //Высвобождаем память, выделенную под одномерный динамический массив
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 2:

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
/*
Дата и время написания программы:
 
20.09.2018
22:20
 
Условие задачи:
 
Из массива a(n), заполненного случайным образом от 0 до 9, переписать элементы в порядке возрастания в массив b(n).
 
Алгоритм:
 
1. Определяем переменную целого типа для задания размера массивов a и b.
2. Определяем функцию srand(time(NULL)) для генерации случайных чисел из диапазона [0; 9].
3. Задаем начальный размер для двух массивов a и b.
4. Объявляем два одномерных динамических массива заданного размера.
5. Заполняем массив a[n] случайным образом с помощью формулы a + rand % (b - a + 1), где [a; b] - интервал случайного распределения.
6. Сортируем массив a[n] c помощью функции sort().
7. Копируем элементы из отсортированного массива a[n] в b[n], используя функцию copy().
8. Выводим отсортированный масcив b[n].
9. Очищаем память, выделенную под оба массива.
 
Решение:
*/
 
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
 
    using namespace std;
    
int main() {
    int n; //Объявляем переменную целого типа (хранит число элементов для обоих массивов) 
    srand(time(NULL)); //Чтобы при каждом новом запуске программы генерировались новые случайные числа
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n; //Вводим размерность массива
    int* a = new int[n]; //Объявляем одномерный динамический массив a размером n
    int* b = new int[n]; //Объявляем одномерный динамический массив b размером n
    cout << "A random array:\n";
    for (int i = 0; i < n; i++) {
        a[i] = rand() % 10; //Генерируем случайные числа из диапазона [0; 9] //a + rand % (b - a + 1) 
        cout << a[i] << " "; //Выводим элементы сгенерированного массива
    }
    sort(a, a + n); //Сортируем массив a[n] по возрастанию используя STL
    copy(a, a + n, b); //Копируем элементы из массива a[n] в b[n] используя STL
    cout << "\nOutput of the program:\n";
    for (int i = 0; i < n; i++) {
        cout << b[i] << " "; //Выводим элементы массива b[n], заполненного по возрастанию
    }
    delete [] a; //Высвобождаем память, выделенную под одномерный динамический массив
    delete [] b; //Высвобождаем память, выделенную под одномерный динамический массив
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 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
/*
Дата и время написания программы:
 
20.09.2018
22:42
 
Условие задачи:
 
Из массива a(n), заполненного случайным образом от 0 до 9, переписать элементы в порядке возрастания в массив b(n).
 
Алгоритм:
 
1. Определяем переменную целого типа для задания размера векторов a(n) и b(n).
2. Определяем функцию srand(time(NULL)) для генерации случайных чисел из диапазона [0; 9].
3. Задаем начальный размер для двух векторов a(n) и b(n).
4. Объявляем два вектора типа int заданного размера.
5. Заполняем вектор a(n) случайным образом с помощью функции generate() и лямбда-выражения.
6. Копируем элементы из вектора a(n) в b(n) с помощью функции assign().
7. Сортируем вектор b(n) с помощью функции sort() и лямбда-выражения.
8. Выводим содержимое вектора b(n) с помощью функции copy().
 
Решение:
*/
 
#include <iostream>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <algorithm>
#include <iterator>
 
    using namespace std;
    
int main() {
    int n; //Объявляем переменную целого типа (хранит число элементов для обоих массивов) 
    srand(time(NULL)); //Чтобы при каждом новом запуске программы генерировались новые случайные числа
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n; //Вводим размерность массива
    vector<int> a(n);
    vector<int> b(n);
    generate(a.begin(), a.end(), []() { return rand() % 10; }); //Генерируем случайный вектор a(n)
    cout << "A random array:\n";
    copy(a.begin(), a.end(), ostream_iterator<int>(cout, " ")); //Выводим содержимое случайно сгенерированного вектора a(n)
    b.assign(a.begin(), a.end()); //Копируем элементы из вектора a(n) в b(n)
    sort(b.begin(), b.end(), [&](int lhs, int rhs) { return lhs < rhs; }); //Сортируем вектор b(n) 
    cout << "\nOutput of the program:\n";
    copy(b.begin(), b.end(), ostream_iterator<int>(cout, " ")); //Выводим содержимое искомого вектора b(n) через пробел
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
Вариант 4:

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
/*
Дата и время написания программы:
 
20.09.2018
23:17
 
Условие задачи:
 
Из массива a(n), заполненного случайным образом от 0 до 9, переписать элементы в порядке возрастания в массив b(n).
 
Алгоритм:
 
1. Определяем переменную целого типа для задания размера массива a(n).
2. Определяем функцию srand(time(NULL)) для генерации случайных чисел из диапазона [0; 9].
3. Задаем начальный размер для массива a(n).
4. Объявляем одномерный динамический массив, а также очередь с приоритетом b.
5. Заполняем массив a[n] случайным образом и одновременно c этим помещаем элементы в очередь с приоритетом b.
6. Выводим содержимое очереди с приоритетом с помощью функций pop(), top(), empty() и цикла while().
7. Очищаем память, выделенную под исходный массив.
 
Решение:
*/
 
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <queue>
 
    using namespace std;
    
int main() {
    int n; //Объявляем переменную целого типа (хранит число элементов для обоих массивов) 
    srand(time(NULL)); //Чтобы при каждом новом запуске программы генерировались новые случайные числа
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n; //Вводим размерность массива
    int* a = new int[n]; //Объявляем одномерный динамический массив a размером n
    priority_queue<int, vector<int>, greater<int>> b; //Объявляем очередь с приоритетом (куча)
    cout << "A random array:\n";    
    for (int i = 0; i < n; i++) {
        a[i] = rand() % 10; //Генерируем случайные числа из диапазона [0; 9] //a + rand % (b - a + 1) 
        b.push(a[i]); //Добавляем элементы в очередь с приоритетом (сразу по возрастанию)
        cout << a[i] << " "; //Выводим элементы сгенерированного массива
    }
    cout << "\nOutput of the program:\n";
    while (!b.empty()) { //Пробегаем циклом по очереди с приоритетом b
        cout << b.top() << " "; //Выводим элементы отсортированного массива
        b.pop();
    }
    delete [] a; //Высвобождаем память, выделенную под одномерный динамический массив
    system("pause"); //Функция задержки экрана консоли
    return 0; //Функция main() возвратила ноль при успешном выполнении программы (то есть, в коде выше ошибок не было)
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.09.2018, 23:39
Помогаю со студенческими работами здесь

Упорядочить матрицу по возрастанию элементов по строкам, найти минимальный по модулю элемент
Упорядочить матрицу А(3,4) по возрастанию элементов по строкам , найти минимальный по модулю элемент. Заранее спасибо

В массиве X(N) найти максимальный элемент массива и упорядочить по возрастанию все элементы
В массиве X(N) найти максимальный элемент массива и упорядочить по возрастанию все элементы, расположенные после найденного максимального...

В массиве Х (N) найти максимальный элемент массива и упорядочить по возрастанию все элементы
написать программу на языке С++. Задание: В массиве Х (N) найти максимальный элемент массива и упорядочить по возрастанию все элементы,...

Массив. Найти максимальный по модулю элемент
В одновымерном массиве найти: -максимальный по модулю элемент массива -сумму элементов массива, которые расположены между первым и...

Массив: Найти максимальный по модулю элемент, а строку, которая содержит этот элемент, переслать в вектор
Создать двумерный массив i=3,j=4 формула вычисления элементов a=(sqr(i)*i)+4*(sqr(j)-15 Найти максимальный по модулю элемент...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru