Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
-14 / 4 / 4
Регистрация: 19.01.2017
Сообщений: 560
1

Алгоритмы поиска в линейных структурах

21.05.2017, 16:29. Показов 557. Ответов 5
Метки нет (Все метки)

На железнодорожном вокзале хранится информация о поездах на текущие сутки (№ поезда, время прибытия, название рейса, количество свободных мест), о продаже билетов (номер поезда, количество проданных билетов в одной операции продажи, дата продажи, время продажи)Изменить время прибытия поезда №12 “14:17”

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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <iostream>
#include <string>
#include <stdio.h>
#include <windows.h>
#include <cstdlib>
 
 using namespace std;
 
 const int chArrSize = 256;
 
struct info_train // объявления u strc
{
   int number;
   string hour_of_arrival;
   string name_of_the_flight;
   int number_of_seats;
};
 
struct ticket_sale{
        int number_train;
        int number_of_sold_tickets;
        string sale_date;
        string the_time_of_sale;
};
 const int kilkist = 14;
    info_train train[kilkist];
    ticket_sale kv[kilkist];
 
 void insert_train(){
       cout<<"\n\n Enter information about train on the current day.\n\n";
    for(int i=0;i<kilkist;i++){
    bool access = true;
    int counter = 0;
        cout<<"Number ["<<i+1<<"] train = "; cin>>train[i].number;
         for(int j=0;j<kilkist;j++) if(train[j].number == train[i].number)
         { access = false;   counter++;}
         if(!access && counter>1){ i--; cout<<"\n\t(Error! This train does not exist.)\n"; continue; }
        cout<<"Arrival time ["<<i+1<<"] train = "; cin>>train[i].hour_of_arrival;
        cout<<"The name of the flight ["<<i+1<<"] train = "; cin>>train[i].name_of_the_flight;
        cout<<"The number of seats available ["<<i+1<<"] train = "; cin>>train[i].number_of_seats;
        cout<<"\n====================================\n";
    }
 }
 void insert_ticket_sale(){
       cout<<"\n\n\n Enter information about trains on the current day\n\n";
    for(int i=0;i<kilkist;i++){
    bool find_train = false;
        cout<<"Enter number train for ["<<i+1<<"] ticket = "; cin>>kv[i].number_train;
       for(int j=0;j<kilkist;j++) if(kv[i].number_train == train[j].number) find_train = true;
       if(!find_train) {
       cout<<"\n\t(Error! This train does not exist.)\n";
                i--; continue;
       }
        cout<<"Enter number of tickets sold in one sales transaction ["<<i+1<<"] ticket = "; cin>>kv[i].number_of_sold_tickets;
        cout<<"Enter data sale ["<<i+1<<"] ticket = "; cin>>kv[i].sale_date;
        cout<<"Enter time of sale ["<<i+1<<"] ticket = "; cin>>kv[i].the_time_of_sale;
        cout<<"\n====================================\n";
    }
 }
 
 void search_train(){
        int number_train;
     cout<<"\n\n Enter train you want to change the arrival time = ";
     cin>> number_train;
                               bool is_search;
     for(int i=0;i<kilkist;i++) { is_search = false;
        if(number_train == train[i].number)  { train[i].hour_of_arrival = "14:17"; i=kilkist; is_search = true;}
 
     }
     if(!is_search) { cout<<"\n\t(Error! This train does not exist.)\n";  }
 }
 
 void info_of_train(){
         cout<<"\nInfo of train:\n\n";
       for(int i=0;i<kilkist;i++){
        cout<<"Number ["<<i+1<<"] train = "<<train[i].number<<endl;
        cout<<"Arrival time ["<<i+1<<"] train = "<<train[i].hour_of_arrival<<endl;
        cout<<"The name of the flight ["<<i+1<<"] train = "<<train[i].name_of_the_flight<<endl;
        cout<<"The number of seats available ["<<i+1<<"] train = "<<train[i].number_of_seats<<endl;
        cout<<"\n====================================\n";
    }
 }
  void info_of_ticket(){
     cout<<"\nInfo of ticket:\n\n";
       for(int i=0;i<kilkist;i++){
        cout<<"The number of tickets sold in one sales transaction ["<<i+1<<"] ticket = "<<kv[i].number_of_sold_tickets<<endl;
        cout<<"Data sale ["<<i+1<<"] ticket = "<<kv[i].sale_date<<endl;
        cout<<"Time of sale ["<<i+1<<"] ticket = "<<kv[i].the_time_of_sale<<endl;
        cout<<"\n====================================\n";
       }
  }
int main ()
{
    for(int i=0; i<kilkist; i++) train[i].number = 0;
        while(true){
           cout<<"\n______________________________________\n";
           cout<<"1. Enter info train\t\t2. Enter info tickets\n";
           cout<<"3. To change the arrival time\t4. Enter info train\n";
           cout<<"5. Enter info tickets\t\t6. Exit\n";
 
           int key; cout<<"Select a Menu item = "; cin>>key;
           switch(key){
           case 1: insert_train(); break;
           case 2: insert_ticket_sale(); break;
           case 3: search_train(); break;
           case 4: info_of_train(); break;
           case 5: ticket_sale(); break;
           case 6: exit(1); break;
case 7: system("cls"); break;
           default: cout<<"\n\t(This item no!)\n";
           }
        }
    system("pause");
}






Использовать алгоритм


C++
1
2
3
4
5
6
7
int LinearSearch(int *x, int k, int key){
  int i = 0;
  for ( i = 0 ; i < k ; i++ )
    if ( x[i] == key )
      break;
  return i < k ? i : -1;
}
Добавлено через 7 часов 1 минуту
Поднимаю. Нужно задействовать данный алгоритм. Помогите пожалуйста.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2017, 16:29
Ответы с готовыми решениями:

Алгоритмы поиска в линейных структурах
На молочной ферме содержится информация о коров (номер, дата рождения), о доярок (номер, ФИО) и о...

Поиск в линейных структурах
на основе алгоритмов последовательного и бинарного поиска На железнодорожном вокзале хранится...

Методы поиска в различных структурах данных
у мя просьба,есть ли методы поиска???(с++/алгоритмы):read: 1)Таблица символов, 2)Деревья...

Алгоритмы на структурах данных
Интересует такой вопрос: Какие задачи можно решить, применяя такие структуры данных, как список...

5
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
21.05.2017, 17:14 2
Ну переделай под свой массив структур. В чём вопрос-то?
0
-14 / 4 / 4
Регистрация: 19.01.2017
Сообщений: 560
21.05.2017, 17:43  [ТС] 3
nmcf, можете его выделить, где правильнее поставить?
0
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
21.05.2017, 18:17 4
У тебя же есть search_train(). Зачем туда ещё что-то вставлять?
0
-14 / 4 / 4
Регистрация: 19.01.2017
Сообщений: 560
22.05.2017, 18:29  [ТС] 5
nmcf, та нет вместо вот этой функции
C++
1
search_train()
Поставить
C++
1
2
3
4
5
6
7
int LinearSearch(int *x, int k, int key){
  int i = 0;
  for ( i = 0 ; i < k ; i++ )
    if ( x[i] == key )
      break;
  return i < k ? i : -1;
}
Добавлено через 20 часов 48 минут
Поднимаю тему.
0
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
22.05.2017, 19:11 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int LinearSearch(info_train *x, int k, int key)
{
  int i = 0;
  for ( i = 0 ; i < k ; i++ )
    if ( x[i].number == key )
      break;
  return i < k ? i : -1;
}
 
 void search_train()
 {
        int number_train;
     cout<<"\n\n Enter train you want to change the arrival time = ";
     cin>> number_train;
 
     if (LinearSearch(train, kilkist, number_train) != -1) train[i].hour_of_arrival = "14:17";
     else cout<<"\n\t(Error! This train does not exist.)\n";
 }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2017, 19:11

Алгоритмы поиска перебором и бинарного поиска
Здравствуйте. Не могли бы вы мне помочь в программой , пожалуйста. в оперативной памяти...

Оптимизация поиска линейных конгруэнтных генераторов
Здравствуйте! Хотел попросить помощи со следующим заданием: необходимо вернуть количество возможных...

Алгоритмы поиска
Здравствуйте, мне надо найти порядка 300 000 000 слов(по 4-5 байт) в 1-5 гб бинарном файле....

Алгоритмы поиска на С++
Здесь предлагаю выкладывать алгоритмы поиска в масиве(например строки или елемента)! Желательно с...

Алгоритмы поиска в C++
Здравствуйте всем, только начал изучать алгоритмы поиска, и в задании &quot;Найти элемент, разность...

Алгоритмы поиска
Кто может подсказать алгоритмы поиска Pascal (алгргоитм линейного поиска, алгоритм двоичного...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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