Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.08.2021
Сообщений: 8
1

отсортировать первый массив и сохранить такой же порядок во втором

11.08.2021, 11:13. Показов 950. Ответов 2
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро, есть два массива, они одинакового размера. Нужно отсортировать один по возрастанию, а во втором поменять все элементы как это было сделано в первом во время сортировки. Это выглядит примерно так A[3,1,2] и B[1,2,3]. После сортировки массива А[1,2,3], В должен выглядеть вот так В[2,3,1].
Как это можно реализовать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2021, 11:13
Ответы с готовыми решениями:

Отсортировать StringGrid по имени (первый столбец) или по среднему оценок, записанных во втором столбце
Здравствуйте! Работаю с StringGrid. На вход подаются 10 строк и 2 столбика. Первый столбик - имя....

Как отсортировать такой массив?
Здравствуйте! Скажите, пожалуйста, как решить такую задачку. Нужно вот этот массив $input1 = ; ...

Как отсортировать такой массив
Отсортировать первую половину чисел из первого списка(TListBox) по увеличению,а другую половину по...

В первый массив дописать число, которое есть во втором массиве, но нету в первом
Есть 2 массива: int arr1; int arr2; for(int i=0;i<5;i++) { arr1=i; arr2=i+1; }...

2
Модератор
Эксперт CЭксперт С++
5174 / 2896 / 1501
Регистрация: 14.12.2018
Сообщений: 5,232
Записей в блоге: 1
11.08.2021, 11:30 2
Цитата Сообщение от weqee Посмотреть сообщение
Как это можно реализовать?
Можно так:
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
#include <iostream>
using namespace std;
 
int main() 
{
    const int size = 3;
    int A[size] = { 3,1,2 };
    int B[size] = { 1,2,3 };
    int i, j;
 
    cout << "Array A before change:" << endl;
    for (i = 0; i < size; i++)
        cout << A[i] << " ";
    cout << endl << endl;
 
    cout << "Array B before change:" << endl;
    for (i = 0; i < size; i++)
        cout << B[i] << " ";
    cout << endl << endl;
 
    for (i=0;i<size;i++)
        for (j=i+1;j<size;j++)
            if (A[i] > A[j])
            {
                swap(A[i], A[j]);
                swap(B[i], B[j]);
            }
 
    cout << "Array A after change:" << endl;
    for (i = 0; i < size; i++)
        cout << A[i] << " ";
    cout << endl << endl;
 
    cout << "Array B after change:" << endl;
    for (i = 0; i < size; i++)
        cout << B[i] << " ";
    
    return 0;
}
1
фрилансер
5499 / 5095 / 1047
Регистрация: 11.10.2019
Сообщений: 13,345
11.08.2021, 12:51 3
weqee, вариант через промежуточный массив

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
#include <iostream>
#include <algorithm>
#include <vector>
 
int main() 
{
    int A[]{ 3,1,2,5 };
    int B[]{ 1,2,3,7 };
    
    const auto size=std::size(A);
    if(size==std::size(B))
    {
        std::vector<std::pair<int,int>> AB{size};
        for(size_t i=0; i<size; i++)
        {
            AB[i]={A[i],B[i]};
        }
        
        std::sort(AB.begin(),AB.end(),[](auto& l, auto& r)
        {
            return l.first<r.first;
        });
 
        for(size_t i=0; i<size; i++)
        {
            A[i]=AB[i].first;
            B[i]=AB[i].second;
        }
    }
 
    std::cout<<"A: ";
    for(auto i:A){std::cout<<i<<" ";}
    std::cout<<'\n';
 
    std::cout<<"B: ";
    for(auto i:B){std::cout<<i<<" ";}
 
    return 0;
}
A: 1 2 3 5
B: 2 3 1 7


через промежуточный массив
что нас плавно подводит к мысли, что эти два массива нужно объединить в один
0
11.08.2021, 12:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2021, 12:51
Помогаю со студенческими работами здесь

Как отсортировать такой массив по полю ДАТА?
Как остортировать этот массив, по полю created_time (ДАТА) ?

Считать массив из файла и отсортировать его. Отсортированный массив сохранить в файл
Создать одномерный массив. Сохранить его в файл. Считать массив из файла и отсортировать его....

Как отсортировать массив в двоично-инверсный порядок
Как отсортировать массив в двоично-инверсный порядок?

Одномерный массив. Поменять местами первый и последний элементы и отсортировать массив по возрастанию методом выбора
Одномерный массив F(N) заполнен случайным образом поменять местами первый и последний элементы и...

Массив А отсортировать таким образом, чтобы на первом месте стояло максимальное значение массива, на втором – минимально
&quot;Массив А отсортировать таким образом, чтобы на первом месте стояло максимальное значение массива,...

Дан линейный массив из 10 чисел. отсортировать массив по закону: первый меняется с последним и т.д. решить с помощью модулей
Дан линейный массив из 10 чисел. отсортировать массив по закону: первый меняется с последним и т.д....


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

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