написать программу на с++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
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов