int main() { double a,b,c; std :: cin >> a >> b >> c; (a > b ^ b > c ) ? (a*=-1, b*=-1,c*=-1)a*=2,b*=2,c*=2); std :: cout << a << b << c; return 0; } Три числа вводятся, зачем?
Помогите с лабораторной на списки Разработать справочник пассажирских поездов с полями: номер поезда, станции отправления и назначения, время в дороге, категория поезду. Реализовать подпрограммы поиска: 1) по станциям отправления и назначения, 2) по категории поезду.
не знаю как ее написать, преподаватель заболел и ниче не рассказывал по теме, а другой требует тип я ничего не знаю мне над результат. вот и прошу вас чтоб мне помогли
не знаю как ее написать, преподаватель заболел и ниче не рассказывал по теме, а другой требует тип я ничего не знаю мне над результат. вот и прошу вас чтоб мне помогли
я не знаю что ты имеешь ввиду, но должна она быть типа вот такой программы program Records; uses crt, strings; const max = 100; {максимальное допустимое количество записей в массиве} type {Тип данных для описания книги} TBook = record name : string[40]; {название} author : string[20]; {автор} style : string[20]; {жанр} tom : byte; {количество томов} year : word; {год выпуска} end; {Тип данных "Каталог книг" - массив из 100 книг} TBooks = array [1..max] of TBook; {Процедура рисование окна без рамки. Вх.данные: (x1,y1) - координаты верхнего левого угла окна, (x2,y2) - координаты нижнего правого угла окна, tc - цвет текста, c - цвет фона окна} procedure SngWindow(x1,y1,x2,y2,tc,c : byte); begin window(x1,y1,x2,y2); textbackground(c); textcolor(tc); clrscr; end; {Процедура рисование окна с рамкой шириной в 1 символ. Вх.данные: (x1,y1) - координаты верхнего левого угла окна, (x2,y2) - координаты нижнего правого угла окна, tc - цвет текста, c1 - цвет рамки, c2 - цвет фона окна} procedure DblWindow(x1,y1,x2,y2,tcolor, c1, c2 : byte); begin window(x1,y1,x2,y2); textbackground(c1); clrscr; window(x1+1,y1+1,x2-1,y2-1); textbackground(c2); textcolor(tcolor); clrscr; end; {Функция для отображения главного меню и выбора одного из его пунктов. Функция возвращает значение от 1 до 5.} function Menu : byte; var punkt : byte; {номер выбранного пункта меню} er : integer; {код ошибки при преобразовании строки в число} s : string; {строка для проверки вводимого номера пункта меню} begin {Закрасить весь экран черным цветом} SngWindow(1,1,80,25,WHITE,BLACK); {Нарисовать рабочее окно} SngWindow(1,6,80,25,WHITE,BLUE); {цикл выполняется до тех пор, пока пользователь не введет число от 1 до 5} repeat {Нарисовать окно для главного меню} DblWindow(1,1,80,5,YELLOW,MAGENTA,BLUE); writeln; write(' 1.Добавить 2.Удалить 3.Печать 4.Поиск 5.Выход'); readln(s); {ввод номера пункта меню} val(s,punkt,er); until (er=0) and (punkt>=1) and (punkt<=5); Menu := punkt; {возврат значения функции} end; {Функция для отображения подменю для поиска и выбора одного из его пунктов. Функция возвращает значение от 1 до 4.} function SubMenu : byte; var punkt : byte; {номер выбранного пункта меню} er : integer; {код ошибки при преобразовании строки в число} s : string; {строка для проверки вводимого номера пункта меню} begin {Закрасить весь экран черным цветом} SngWindow(1,1,80,25,WHITE,BLACK); {Нарисовать рабочее окно} SngWindow(1,6,80,25,WHITE,BLUE); {цикл выполняется до тех пор, пока пользователь не введет число от 1 до 4} repeat {Нарисовать окно для главного меню} DblWindow(1,1,80,5,YELLOW,MAGENTA,BLUE); writeln; write(' 1.Поиск по названию 2.Поиск по автору 3.Поиск по году 4.Выход'); readln(s); {ввод номера пункта меню} val(s,punkt,er); until (er=0) and (punkt>=1) and (punkt<=4); SubMenu := punkt; {возврат значения функции} end; {Процедура добавления книги в каталог книги. Книга добавляется в конец каталога. Вх.данные: mas - каталог книг; n - количество книг в каталоге; size - максимальное возможное количество книг в каталоге; Вых.данные: если каталог полностью еще не заполнен, то в него будет добавлена книга и n увеличится на 1, в противном случае - книга не добавляется. mas - каталог книг;} procedure AddRecord(var mas : TBooks; var n : byte; size : byte); var s : String; {строка для ввода числовых значений} er : integer; {код ошибки при преобразовании строки в число} begin {проверка: есть ли еще место для новой книги в каталоге} if (n+1 <= size) then begin inc(n); {увеличение количества книг в каталоге} {ввод названия, автора и жанра книги} write('Название книги =>'); readln(mas[n].name); write('Автор =>'); readln(mas[n].author); write('Жанр =>'); readln(mas[n].style); {ввод количества томов (>0)} repeat write('Количество томов =>'); readln(s); val(s,mas[n].tom,er); until (er=0) and (mas[n].tom>0); {ввод года издания (в диапазоне [1900;2008])} repeat write('Год издания =>'); readln(s); val(s,mas[n].year,er); until (mas[n].year >= 1900) and (mas[n].year<=2008); writeln('Книга добавлена в каталог!'); end else writeln('Недостаточно места в каталоге!'); end; {Процедура печати информации о книге под номером i в каталоге} procedure PrintRecord(var mas : TBooks; i : integer); begin write(i:3); with mas do begin write(name:23); write(author:20); write(style:10); write(tom:10); write(year:12); writeln; end; end; {Процедура печати содержимого всего каталога. Вх.данные: mas - каталог книг, n - количество книг в каталоге} procedure Print(var mas : TBooks; n : integer); var i : integer; {номер книги в каталоге} begin writeln('#':3,'Название':23,'Автор':20,'Жанр':10,'Тома':10,'Год издания':12); for i:=1 to n do PrintRecord(mas,i); end; {Процедура удаления книг из каталога под названием bname. Вх.данные: mas - каталог книг, n - количество книг в каталоге, bname - название книг, которые необходимо удалить из каталога Вых.данные: если в каталоге имеются книги под название bname информация о них будет распечатана и они будут удалены из каталога и количество книг в каталоге n уменьшиться на количество удаленных книг; если в каталоне нет книг под заданным названием на экран не будет выводиться информация о книгах.} procedure DelRecordByName(var mas : TBooks; var n : byte; bname : string); var i,j : integer; {номера книг в каталоге} begin writeln('#':3,'Название':23,'Автор':20,'Жанр':10,'Тома':10,'Год издания':12); {цикл для просмотра всех книг каталога} for i:=1 to n do begin with mas do {книга под номером i имеет название bname, следовательно ее необходимо удалить из каталога} if (name = bname) then begin PrintRecord(mas,i); {печать информации об удаляемой книге} {цикл для смещения книг на одну позицию влево для удаления книги из каталога} for j:=i+1 to n do mas[j-1] := mas[j]; {количество книг в каталоге уменьшилось на 1} dec(n); end; end; end; {Процедура поиска книг по названию. Вх.данные: mas - каталог книг; n - количество книг в каталоге; bname - название книги, по которому необходимо осуществлять поиск книг; Вых.данные: на экране монитора в табличном виде распечатается информация о книгах с названием bname.} procedure FindByName(var mas : TBooks; n : integer; bname : string); var i : integer; {номер книги} begin writeln('#':3,'Название':23,'Автор':20,'Жанр':10,'Тома':10,'Год издания':12); {просмотр всех книг в каталоге} for i:=1 to n do with mas do {название книги совпадает с заданным названием bname} if name=bname then PrintRecord(mas,i); end; {Процедура поиска книг по автору и жанру. Вх.данные: mas - каталог книг; n - количество книг в каталоге; ba - автор книги; bst - жанр книги; Вых.данные: на экране монитора в табличном виде распечатается информация о книгах, которые написал автор ba в жанре bst.} procedure FindByAuthor(var mas : TBooks; n : integer; ba, bst : string); var i : integer; {номер книги} begin writeln('#':3,'Название':23,'Автор':20,'Жанр':10,'Тома':10,'Год издания':12); {просмотр всех книг в каталоге} for i:=1 to n do with mas do {автор книги и жанр совпадают с заданными автором ba и жанром bst} if (author=ba) and (style=bst) then PrintRecord(mas,i); end; {Процедура поиска книг по году издания. Вх.данные: mas - каталог книг; n - количество книг в каталоге; [a,b] - период издания книг; Вых.данные: на экране монитора в табличном виде распечатается информация о книгах, которые были изданы в период годов от а до b.} procedure FindByYear(var mas : TBooks; n : integer; a, b : word); var i : integer; {номер книги} begin writeln('#':3,'Название':23,'Автор':20,'Жанр':10,'Тома':10,'Год издания':12); {просмотр всех книг в каталоге} for i:=1 to n do with mas do {год издания книги находиться в диапазоне от а до b} if (a<=year) and (year<=b) then PrintRecord(mas,i); end; var b : TBooks; {каталог книг} n : byte; {количество книг в каталоге} punkt : byte; {номер пункта меню} subpunkt : byte; {номер подпункта в пункте меню Поиск} bookname, {название книги} a, {автор книги} st : string; {жанр книги} y1,y2 : word; {диапазон годов издания книг} s : string; {строка для ввода числовых значений} er : integer; {код ошибки при переводе строки в число} begin n := 0; {в каталоге нет книг} SngWindow(1,1,80,25,WHITE,BLACK); repeat punkt:= Menu; {выбор пункта меню} case (punkt) of 1:begin {пункт Добавление книги} SngWindow(1,6,80,25,WHITE,BLUE); writeln(' ДОБАВЛЕНИЕ КНИГИ В КАТАЛОГ'); AddRecord(b,n,max); {добавление книги в каталог b} readkey; end; 2:begin {пункт Удаление книги} SngWindow(1,6,80,25,WHITE,BLUE); writeln(' УДАЛЕНИЕ КНИГ ПО НАЗВАНИЮ'); {Задание значения ключа - название книги} write('Название книги =>'); readln(bookname); {удаление из каталога книг по названию книги} DelRecordByName(b,n,bookname); readkey; end; 3:begin {печать каталога книг} SngWindow(1,6,80,25,WHITE,BLUE); writeln(' КАТАЛОГ КНИГ'); Print(b,n); {печать в табличном виде информации о книгах в каталоге} readkey; end; 4:begin {пункт Поиск книг} repeat subpunkt := SubMenu; {выбор пункта меню по поиску книг} case (subpunkt) of 1:begin {пункт Поиск по названию книги} SngWindow(1,6,80,25,WHITE,BLUE); writeln(' КНИГИ ПО НАЗВАНИЮ '); {задание ключа поиска по названию книги} write('Название книги =>'); readln(bookname); {поиск книг в каталоге b по названию bookname} FindByName(b,n,bookname); readkey; end; 2:begin {пункт Поиск по автору и жанру} SngWindow(1,6,80,25,WHITE,BLUE); writeln(' КНИГИ ПО АВТОРУ И ЖАНРУ'); {задание ключа поиска по автору} write('Автор книги =>'); readln(a); {задание ключа поиска по жанру} write('Жанр книги =>'); readln(st); {поиск книг в каталоге b по автору и жанру} FindByAuthor(b,n,a,st); readkey; end; 3:begin {поиск по году издания} SngWindow(1,6,80,25,WHITE,BLUE); writeln(' КНИГИ ПО ГОДУ ИЗДАНИЯ '); {цикл задания ключа поиска по году издания} repeat {задание ключа поиска - минимальный год} repeat write('Минимальный год =>'); readln(s); val(s,y1,er); until (er=0) and (y1>=1900); {год издания должен быть >= 1900} {задание ключа поиска - максимальный год} repeat write('Максимальный год =>'); readln(s); val(s,y2,er); until (er=0) and (y2<=2008); {год издания должен быть <= 2008} until (y1<y2); {поиск книги по году издания [y1,y2] в каталоге b} FindByYear(b,n,y1,y2); readkey; end; end; until (subpunkt = 4); {выход из подменю поиска при выборе пункта 4} end; end; until (punkt = 5); {выход из программы при выборе пункта меню 5} SngWindow(1,1,80,25,WHITE,BLACK); end.
та нет это не делфи я запускал это на паскале. преподаватель говорил что это паскаль я тебе просто показую пример
Ты точнее скажи через что реализовать нужно? Ты писал что через списки, а в примере сделано через записи Оо..
можно типо так сделать uses crt; var a,b:string; begin clrscr; write(' куришь? -'); write(' да '); write(' нет '); write(' Выберите ответ: '); read(a); clrscr; write(' пьёшь? - '); write(' да '); write(' нет '); write(' Выберите ответ: '); read(b); clrscr; if a='да' then write('Неправельно исправляйся'); if b='да' then write('Неправельно исправляйся'); if a='нет' then write('молодец'); if b='нет' then write('молодец'); end.
uses crt; var a,b:string; begin clrscr; write(' куришь? -'); write(' да '); write(' нет '); write(' Выберите ответ: '); read(a); clrscr; write(' пьёшь? - '); write(' да '); write(' нет '); write(' Выберите ответ: '); read(b); clrscr; if a='да' then write('Неправельно исправляйся'); if b='да' then write('Неправельно исправляйся'); if a='нет' then write('молодец'); if b='нет' then write('молодец'); end.
помогите зделать программу Создание собственной библиотеки создать библиотеку функций Список группы (ФИО, возраст, средний балл по предметам) на СИ