Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. }{AS 99

    }{AS 99 Member

    Joined:
    18 Sep 2009
    Messages:
    42
    Likes Received:
    67
    Reputations:
    0
    зальешь на сервер ссыль кинешь в скомпилированном виде...
     
  2. criptic

    criptic Member

    Joined:
    24 Mar 2009
    Messages:
    51
    Likes Received:
    5
    Reputations:
    0
    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;
    }


    Три числа вводятся, зачем?
     
  3. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    Помогите с лабораторной на списки
    Разработать справочник пассажирских поездов с полями: номер поезда, станции отправления и назначения, время в дороге, категория поезду. Реализовать подпрограммы поиска: 1) по станциям отправления и назначения, 2) по категории поезду.
     
  4. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Какие именно проблемы возникли?
     
  5. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    не знаю как ее написать, преподаватель заболел и ниче не рассказывал по теме, а другой требует тип я ничего не знаю мне над результат. вот и прошу вас чтоб мне помогли
     
  6. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    С указателями когда-то работал? Знание в структурах, классах есть?
     
  7. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    не знаю как ее написать, преподаватель заболел и ниче не рассказывал по теме, а другой требует тип я ничего не знаю мне над результат. вот и прошу вас чтоб мне помогли
     
  8. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    неа я ток начинающий, и то не все понимаю, я не программист, мы простые экономисты.... :mad:
     
  9. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Раз такое дело, набыдлокодю для тебя.
     
  10. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    4p3


    Зарание тебе спасибо))))))
     
  11. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Уточни, пожалуйста, какой список должен быть: двунаправленный, однонаправленный? Кольцевой?
     
  12. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    я не знаю что ты имеешь ввиду, но должна она быть типа вот такой программы

    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.
     
  13. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    А.. это еще и дельфи. Я не пишу на дельфях. Ничем помочь не могу.
     
  14. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    та нет это не делфи я запускал это на паскале.
    преподаватель говорил что это паскаль
    я тебе просто показую пример
     
  15. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Ты точнее скажи через что реализовать нужно? Ты писал что через списки, а в примере сделано через записи Оо..
     
  16. WyBie

    WyBie New Member

    Joined:
    27 Feb 2010
    Messages:
    22
    Likes Received:
    1
    Reputations:
    0
    можно типо так сделать
    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.
     
  17. WyBie

    WyBie New Member

    Joined:
    27 Feb 2010
    Messages:
    22
    Likes Received:
    1
    Reputations:
    0
    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.
     
  18. BastardFromHell

    Joined:
    5 Feb 2010
    Messages:
    50
    Likes Received:
    18
    Reputations:
    6
    не знаю как в этом богомерзком языке, но в сях = это присвоить :)
    Тут наверное также
     
  19. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Ужасная реализация )) Присвоить в дельфи это := ,
     
  20. KrabKN

    KrabKN New Member

    Joined:
    21 Jan 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    помогите зделать программу
    Создание собственной библиотеки
    создать библиотеку функций
    Список группы (ФИО, возраст, средний балл по предметам)
    на СИ
     
Thread Status:
Not open for further replies.