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

Сортировка массива структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение самой длинной цепочки отрицательных элементов с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread786649.html
В одномерном массиве из 100 элементов найти самую длинную цепочку отрицательных элементов. m = { 16, 78, 99, 6, -29, 19, -52, 65, -88, 51, -79, -22, 32, -25, -62, -69, -2, -59, -75, 89, -87, 95, -22, 85, -49, -75, 76, 73, -59, -52, 30, 49, -28, -48, 0, 57, -6, -85, 0, -18,
C++ Как заставить объекты масштабироваться вместе с окном? Итак, дорогие мастера кодинга на с++, совсем ламерский вопрос: Как заставить объекты, например sTabSheet масштабироваться вместе с масштабированием формы? Метод научного тыка не помог. :) Извиняйте за ламерство и благодарю заранее. http://www.cyberforum.ru/cpp-beginners/thread786646.html
Однонаправленный список, где создать указатель на первый элемент? C++
struct listNode{ char data; listNode *next; }; class List{ public: void add(char); int delete (int); int search(int);
Дано трехзначное число. Определить, есть ли среди его цифр пара одинаковых C++
Дано трехзначное число. Определить, есть ли среди его цифр пара одинаковых
C++ Четность/нечетность http://www.cyberforum.ru/cpp-beginners/thread786639.html
Как определить четность/нечетность числа (использовать остаток от деления нацело (%) и другие бинарные функции нельзя)?
C++ Сортировка типизированного файла Здравствуйте подскажите пожалуйста, как отсортировать типизированный файл из фамилиями по алфавиту и записать его в тотже файл. Задание. Разработать программу на языке С + +, реализующая: 1.1 функцию записи типизированный файл INFO.DAT согласно варианту; 1.2. функцию чтения из файла INFO.DAT согласно варианта. Сформировать файл, содержащий фамилии N студентов группы (в произвольном... подробнее

Показать сообщение отдельно
SHBan
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 21
14.02.2013, 23:23     Сортировка массива структур
Разьясните пожалуйста в как можно поступить по другому.
Не выделяя, как у меня дополнительный массив.
Кликните здесь для просмотра всего текста
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
#include<iostream>
const int sizeName = 20;
 
struct Patrons{
  char name[sizeName];
  double mane;
};
 
int main()
{
    int kolInvest;
   
    (std::cin >> kolInvest).get();
 
    Patrons * dosiePatronse = new Patrons[kolInvest];
 
    
/////////////////////////////////////////////////////
//      ввод массива
    for(int i = 0; i < kolInvest; i++)
    {
      std::cout << "Name - ";
      //std::cin.get(temp->name, sizeName).get();
      std::cin.getline(dosiePatronse[i].name, sizeName);
      std::cout << "$ - ";
      // cin - оставляет в буфере  символ новой стоки "Enter"
      (std::cin >> dosiePatronse[i].mane).get();
    }
   
//////////////////////////////////////////////////////
//          сорторовка массива
 
// Вот ТУТ ------ как можно обойтись без него 
Patrons * temp = new Patrons[kolInvest];
/////////////////////////////////////////////
    for(int i = 1; i < kolInvest; i++)
    {
      for(int j = 0; j < kolInvest-i; j++)
      {
    if(dosiePatronse[j].mane > dosiePatronse[j+1].mane)
    {
      temp[0] = dosiePatronse[j];
      dosiePatronse[j] = dosiePatronse[j+1];
      dosiePatronse[j+1] = temp[0];
    }
      }
    }
delete [] temp;  
//////////////////////////////////////////////////////
//  вывод упорядоченного массива
   for(int i = 0; i < kolInvest; i++)
    {
      std::cout << dosiePatronse[i].name << " " << dosiePatronse[i].mane <<" | ";
    }
    
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru