написать программу на с++1. Обрисовать структуру с именованием TRAIN, содержащую следующие
Написать программку на с++
1. Описать структуру с именем TRAIN, содержащую последующие поля:
заглавие пт предназначения;
номер поезда;
время отправления.
2. Написать программку, исполняющую последующие деяния:
ввод с клавиатуры данных в массив, состоящий из восьми частей типа
TRAIN; записи обязаны быть упорядочены по номерам поездов;
вывод на экран инфы о поезде, номер которого введен с клавиатуры;
если таких поездов нет, выдать на дисплей соответствующее извещенье.
1 ответ
Филакова
София
include lt;iostreamgt;
include lt;stringgt;
include lt;conio.hgt;
include lt;cstdlibgt;
using namespace std;
struct TRAIN
string name,time;
int number;
;
void qs(struct TRAIN *arr,int first,int last)
int x=arr[(first+last)/2].number,
i=first,j=last;
do
while (arr[i].number lt; x) i++;
while (arr[j].number gt; x) j--;
if (ilt;=j) if (arr[i].numbergt;arr[j].number)
int t=arr[i].number;
string str = arr[i].name;
string st = arr[i].time;
arr[i].number = arr[j].number;
arr[i].name = arr[j].name;
arr[i].time = arr[j].time;
arr[j].number = t;
arr[j].name = str;
arr[j].time = st;
i++;
j--;
while(ilt;=j);
if (firstlt;j) qs(arr, first,j);
if (lastgt;i) qs(arr,i,last);
void print(struct TRAIN *arr, int n)
coutlt;lt;"Пункт предназначения\tНомер\tВремя\n";
for(int i(0); i lt; n; i++)
cout lt;lt; arr[i].name lt;lt; '\t' lt;lt; arr[i].number lt;lt; '\t' lt;lt; arr[i].time lt;lt;'\n';
cout lt;lt;endl;
int main(int argc, char *argv[])
setlocale(0,"");
const int N=8;
TRAIN train[N];
for(int i(0); i lt; N; i++)
cout lt;lt;"Пункт предназначения: ";
getline(cin,train[i].name);
cout lt;lt;"Номер: ";
cin gt;gt;train[i].number;
cin.get();
cout lt;lt;"Время: ";
getline(cin, train[i].time);
system("cls");
print(train,N);
qs(train,0,N-1); //Прыткая сортировка
int n;
cout lt;lt;"Номер поезда: ";
cingt;gt;n;
bool f=1;
for(int k=0; k lt; N; k++)
if (train[k].number == n)
cout lt;lt; train[k].name lt;lt; '\t' lt;lt; train[k].number lt;lt; '\t' lt;lt; train[k].time lt;lt;'\n';
f=0;
break;
if(f) cout lt;lt; "Нет такого номера поезда";
cout lt;lt;endl;
print(train,N);
_getch();
return 0;
include lt;stringgt;
include lt;conio.hgt;
include lt;cstdlibgt;
using namespace std;
struct TRAIN
string name,time;
int number;
;
void qs(struct TRAIN *arr,int first,int last)
int x=arr[(first+last)/2].number,
i=first,j=last;
do
while (arr[i].number lt; x) i++;
while (arr[j].number gt; x) j--;
if (ilt;=j) if (arr[i].numbergt;arr[j].number)
int t=arr[i].number;
string str = arr[i].name;
string st = arr[i].time;
arr[i].number = arr[j].number;
arr[i].name = arr[j].name;
arr[i].time = arr[j].time;
arr[j].number = t;
arr[j].name = str;
arr[j].time = st;
i++;
j--;
while(ilt;=j);
if (firstlt;j) qs(arr, first,j);
if (lastgt;i) qs(arr,i,last);
void print(struct TRAIN *arr, int n)
coutlt;lt;"Пункт предназначения\tНомер\tВремя\n";
for(int i(0); i lt; n; i++)
cout lt;lt; arr[i].name lt;lt; '\t' lt;lt; arr[i].number lt;lt; '\t' lt;lt; arr[i].time lt;lt;'\n';
cout lt;lt;endl;
int main(int argc, char *argv[])
setlocale(0,"");
const int N=8;
TRAIN train[N];
for(int i(0); i lt; N; i++)
cout lt;lt;"Пункт предназначения: ";
getline(cin,train[i].name);
cout lt;lt;"Номер: ";
cin gt;gt;train[i].number;
cin.get();
cout lt;lt;"Время: ";
getline(cin, train[i].time);
system("cls");
print(train,N);
qs(train,0,N-1); //Прыткая сортировка
int n;
cout lt;lt;"Номер поезда: ";
cingt;gt;n;
bool f=1;
for(int k=0; k lt; N; k++)
if (train[k].number == n)
cout lt;lt; train[k].name lt;lt; '\t' lt;lt; train[k].number lt;lt; '\t' lt;lt; train[k].time lt;lt;'\n';
f=0;
break;
if(f) cout lt;lt; "Нет такого номера поезда";
cout lt;lt;endl;
print(train,N);
_getch();
return 0;
Роман Шартанов
До бесконечности просит вводить пункт, номер и время. либо я что то ввожу не так?
Злата Катумина
Нужно ввести данные 8 раз, после заполнение 1-го элемента экран очищается. Для сокращения медли тестирования можно поменять константу N в меньшую сторону
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Вычислите силу с которой при давлении 100 КПа атмосфера давит на
Физика.
Синтаксический разбор и схема Но мы сказали, что нам ничего не
Русский язык.
Массовая доля целлюлозы в древесине составляет 50%. Какая масса спирта может
Химия.
помоги мне пожалуста прш
869*(61124-488*125)-50974
Математика.
по шкале высот определить ,в каком направлении происходит понижение релефа уральских гор
География.
Помогите пожалуйста написать Сочинение Овчинникова "победитель'
Литература.
Здравствуйте. Нужен цитатный план испытания лётчика в лесу главы2-13 по повести
Разные вопросы.
Облако тегов