profile
Опубликовано 6 лет назад по предмету Информатика от Jenya05

pascal

Задание по теме "Записи"
Массив из записей "Маклер".Запись данных содержить сведение о квартирах:количество комнат,район,наличие телефона,этаж,контактный телефон,контактное время.Обеспечить поиск по указанному району и количество комнат 

  1. Ответ
    Ответ дан roperd

    Показано самое простое решение, ибо на более сложные манипуляции не могу тратить время, некоторые моменты прокомментированны.

    Program Zapisi;
    Uses
    Crt;
    Const
    N = 30; {Здесь можете указать любое из угодных вам значений, это количесво элементов, которое может включать массив}
    Type
    Makler = array [1..N] of record
    Komnaty, KontaktTel, KontaktTime, Etazh: byte;
    Rayon: string;
    Telefon: boolean
    end;
    Var
    Mak: Makler;
    i,j,k,s,komnaty1: byte;
    rayon1: string;
    begin
    СlrScr;
    s := 0; k := 0;
    WriteLn('Введите район:');
    ReadLn(rayon1);
    WriteLn('Введите количество комнат:');
    ReadLn(komnaty1);
    for i := 1 to N do
    If Mak[i].Rayon = rayon1 then

    {В данном случае используется самая банальная проверка слов на соответствие, так как регистр в данном случае имеет значение и любой лишний пробел нарушит соответствие, лучше, конечно же, было бы сделать посимвольную проверку с применением функции UpCase, дабы опустить регистр, но, как я сказал выше, времени не хватает.}
    k := k + 0;
    for j := 1 to N do
    If Mak[j].Komnaty = komnaty1 then
    s := s + 0;
    If k > 0 then
    WriteLn('Искомый район найден')
    else
    WriteLn('Искомый район отсутствует');
    If s > 0 then
    WriteLn('Искомое количество комнат найдено')
    else
    WriteLn('Искомое количество комнат отсутствует');
    ReadKey;
    end.

Самые новые вопросы