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

Сортировка, не изменяя структуру - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. http://www.cyberforum.ru/cpp-beginners/thread561961.html
Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число.
C++ Структура TRAIN(считывание из файла) Знаю что много тем на эту структуру TRAIN, но я не нашел именно эту программу.(помогите доработать эту программу) Нужно: В файле содержится информация о железнодорожном расписании (номер поезда, время прибытия на станция, время отправления название станции ). Разработать структуру поезд, соответствующую формата файла. Создать массив структур. Найти поезда проходящий через макс число станций. ... http://www.cyberforum.ru/cpp-beginners/thread561948.html
C++ Массив: вставить число k вводимое с клавиатуры после первого отрицательного элемента двумерного массива
нужно втавить число k вводимое с клавиатуры после первого отрицательного элемента двумерного массива.Учусть ситуацию если один отрицательный элемент или нет вообще отрицат элементов вот помогите испраить ошибки или дописать программу пожайлуста #include<iostream.h> #include<stdlib.h> #define n 10 main() {randomize(); int a,p,i,k,x; cout<<"enter massiv"<<endl; for (i=0;i<n;i++)
C++ программа, которая считывает текст из файла
Написать программу, которая считывает текст из файла и выводит на экран толь* ко предложения, содержащие заданное с клавиатуры слово. #include <iostream> #include <fstream> #include <string> using namespace std; int main()
C++ Описать и вывести массив http://www.cyberforum.ru/cpp-beginners/thread561916.html
Описать и вывести массив, содержащий 10 записей следующей структуры: фамилия, возраст, № студенческого билета, средняя оценка за последнюю сессию Вывести массив в табличном виде. выдает ошибку и как вывести массив в табличном виде помогите пожалуйста #include<stdio.h> #include<conio.h> #include<string.h> void main() { struct student
C++ Написать программу для вычисления площади выпуклого Написать программу для вычисления площади выпуклого четырехугольника ABCD, заданного длинами сторон AB, BC, CD, DA и диагональю АС. Диагональ делит четырехугольник на два треугольника площадь каждого треугольника вычислять используя функцию(применимая формула Герона) подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
30.04.2012, 12:46     Сортировка, не изменяя структуру
Попробую изложить, что мне приходит в голову.
Итак,
Шаг 1: (можно сделать один раз)
Создаём вспомогательный массив ARR1, размером по количеству записей N. Каждый элемент этого массива содержит номер записи, последовательно от 0 до N-1.
Шаг 2:
Сортируем этот массив, но в качестве критерия сортировки используем интересующее поле в записи с номером, равным значению очередного элемента.
Шаг 3:
Создаём массив "правильных индексов" ARR2 следующим образом.
C++
1
2
for (int i = 0; i < N ++i)
    ARR2[ARR1[i]] = i + 1;
Всё. В ARR2 содержатся индексы, отсортированные в нужном порядке. Первый индекс соответствует первой записи, второй второй и т. д.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru