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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Frog
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 14
#1

Си++ -> структуры -> упорядочивание по возрастанию - C++

25.11.2009, 12:53. Просмотров 1844. Ответов 6
Метки нет (Все метки)

Прошу прощения за создание новой темы, но у меня большая просьба помогите пожалуйста решить задачу на Си++.

Разработайте программу для обработки структурных типов данных. Реализуйте отдельные функции для ввода, вывода, поиска информации по условию, сортировки по признаку:
"База данных ГАИ: гос.номер АВТОМОБИЛЯ, марка, модель, Фамилия И.О. владельца, год выпуска. Упорядочьте по возрастанию года выпуска автомобиля. Выведите список автомобилей указанной марки."

Я написал основную часть программы:

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream.h>
#include <windows.h>
 
// ================ описание типов данных ======================
 
// ------- описание структурного типа данных МАШИНА -----------
struct CAR {
  char Nomer[15];          // гос номер
  char MarkaModel[15];     // Марка Модель
  char Name[15];           // Фамилия И. О.
  int Number;              // год выпуска
};
 
// ------- описание структурного типа данных Гаи ------------
// максимальное количество машин
#define MAX_CAR 30
struct GAI {
  int N;                 // Количество машин
  CAR Car[MAX_CAR];      // Массив машин
};
 
// =============== описание прототипов функций =================
 
// Ввод информации о машине с клавиатуры
CAR InputCar(void);
 
// Вывод информации о машине на экран
void OutputCar(CAR Car);
 
// Ввод информации о гаи с клавиатуры
void InputGai(GAI *Gai);
 
// Вывод информации о гаи на экран
void OutputGai(GAI Gai);
 
 
// =============== основная функция программы ==================
 
int main(int argc, char* argv[])
  {
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  GAI Gai;
  InputGai(&Gai);
  OutputGai(Gai);
 
  Sleep(7654);
  return 0;
  }
 
// ============ Ввод информации о машине с клавиатуры ========
CAR InputCar(void)
  {
  CAR car;
  cout << "Введите гос номер ====> ";
  cin >> car.Nomer;
  cout << "Введите Марка Модель ========> ";
  cin >> car.MarkaModel;
  cout << "Введите Фамилия И. О. ===> ";
  cin >> car.Name;
  cout << "Введите год выпуска ===> ";
  cin >> car.Number;
  return car;
  }
 
// ============ Вывод информации о машине на экран ===========
void OutputCar(CAR Car)
  {
  cout.width(8);
  cout.fill('0');
  cout << Car.Nomer << " "
       << Car.MarkaModel << " "
       << Car.Name << " "
       << Car.Number << " \n";
  }
 
// ============ Ввод информации о гаи с клавиатуры ==========
void InputGai(GAI *Gai)
  {
  cout << "Введите Количество машин ===> ";
  cin >> Gai->N;
    for (int i=0;i<Gai->N;i++)
    {
    cout << "Введите информацию о " << (i+1) << "-ой машине\n";
    Gai->Car[i]=InputCar();
    }
  }
 
// ============ Вывод информации о гаи на экран =============
car.Number.sort();
  void OutputGai(GAI Gai)
  {
  for(int i=0;i<Gai.N;i++) OutputCar(Gai.Car[i]);
  }

Но я не знаю, как реализовать вот это "Упорядочьте по возрастанию года выпуска автомобиля. Выведите список автомобилей указанной марки."

Помогите пожалуйста, заранее большое спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2009, 12:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Си++ -> структуры -> упорядочивание по возрастанию (C++):

Упорядочивание по возрастанию элементов последовательности. (Из Си в Си++) - C++
Спасибо) Вот еще одна задача: Написать программу, которая упорядочивает по возрастанию элементы заданной последо¬вательности с четными...

Упорядочивание по возрастанию каждого столбца матриц - C++
Очень прошу всех помочь, помогите пожалуйста написать программу для упорядочивания по возрастанию каждого столбца массивов А(3,3), В(3,3),...

Выполнить упорядочивание каждого столбца матрицы по возрастанию - C++
Задачки по фунциям и массивам. все во вложении. прошу помощи.

Сортировка поля структуры по возрастанию - C++
Здравствуйте! Есть вот такой вопрос: Есть программа печати расписания, вот ее код #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include...

Упорядочить номера маршрутов по возрастанию (структуры) - C++
Помогите пожалуйста как упорядочить номера маршрутов по возрастанию?? #include &lt;iostream&gt; #include &lt;string.h&gt; #include...

Упорядочивание последовательности по возрастанию - Assembler
Помогите написать программу упорядочивания последовательности A=(A(I), I=1,N) по возрастанию следующим образом: найти минимальный элемент и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
25.11.2009, 13:08 #2
Но я не знаю, как реализовать вот это "Упорядочьте по возрастанию года выпуска автомобиля.

C++
1
2
struct year_less : public std::binary_function<CAR, CAR, bool>
{ boost operator()(const CAR& c1, const CAR& c2) const { return c1.Number < c2.Number; } };
CAR cars[100];
std::sort(cars, cars + 100, year_less());
Frog
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 14
25.11.2009, 14:07  [ТС] #3
Цитата Сообщение от Rififi Посмотреть сообщение
C++
1
2
struct year_less : public std::binary_function<CAR, CAR, bool>
{ boost operator()(const CAR& c1, const CAR& c2) const { return c1.Number < c2.Number; } };
CAR cars[100];
std::sort(cars, cars + 100, year_less());
И что с этими строками делать? Просто вставил в программу, вылазит ошибка: "Type name expected"
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
25.11.2009, 14:14 #4
http://codepad.org/gUzxsKNZ
Frog
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 14
25.11.2009, 14:22  [ТС] #5
Цитата Сообщение от Rififi Посмотреть сообщение
Спасибо, но всё равно вылазит эта ошибка, видимо не хочет фурычить совместно в моей программе (
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
25.11.2009, 14:27 #6
каким компилятором ты пытаешься откомпилировать прогу?
Frog
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 14
25.11.2009, 15:34  [ТС] #7
Цитата Сообщение от Rififi Посмотреть сообщение
каким компилятором ты пытаешься откомпилировать прогу?
Builder 6

Добавлено через 56 минут
О! Решил свою проблему благодаря следующей функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void sortirovka (GAI *Gai)
{
    CAR e;
        for (int i = 1; i < Gai->N; i++)
        {
                for (int j = i - 1; j >= 0 && Gai->Car[j+1].Number > Gai->Car[j].Number; j--)
                {
                        e = Gai->Car[j+1];
                        Gai->Car[j+1] = Gai->Car[j];
                        Gai->Car[j] = e;
                }
        }
Сортирует по возрастанию. Тему можете удалить, но если кому пригодится, читайте.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2009, 15:34
Привет! Вот еще темы с ответами:

упорядочивание строк по возрастанию - Turbo Pascal
Дана строка, состоящая из слов. Преобразовать строку таким образом, чтобы слова были упорядочены по возрастанию своей длины. Используя...

Упорядочивание матрицы по возрастанию - Turbo Pascal
Снова нужна помощь! Дана матрица допустим 3 на 4 ! и Вот например: 2 5 2 6 3 6 8 6 4 7 4 4 надо сделать чтоб было: 2 2 3 4 ...

Упорядочивание по возрастанию матрицы - Fortran
подскажите, пожалуйста, я не совсем понимаю, что требуется от меня. &quot;Упорядочить по возрастанию (при просмотре по строкам) элементы...

Упорядочивание строк по возрастанию в матрице - Delphi
Доброго времени суток. Срочно нужна консольная программа. Задача состоит в следующем: Задано двухмерную матрицу B(n,n), n≤20. Разработать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.11.2009, 15:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru