Найдите в базе всех жителей, живущих в разных городах по одинаковому адресу. - Pascal

  1. Есть база данных по жителям красноярского края, содержащая город, улицу, номер дома и квартиры. Найдите в ней всех жителей, живущих в разных городах по одинаковому адресу. Помогите решить задачу.

textual

Код:

type
    TCitizen = record
        city, street, houseNumber: String;
        apartamentNumber: Word; //0 - частный дом
    end;
var
    ar: Array[Byte] Of TCitizen;
    used: Set Of Byte;
    i, j: Byte;
    n: Integer;
    flag: Boolean;
begin
    repeat
        Write('Введите количество жителей в базе (1..256): ');
        ReadLn(n);
    until ((n > 0) And (n < 257));
    for i := 0 to n - 1 do
        with ar[i] do
        begin
            Write('Город? '); ReadLn(city);
            Write('Улица? '); ReadLn(street);
            Write('Номер дома? '); ReadLn(houseNumber);
            Write('Номер квартиры (0 - частный дом)? '); ReadLn(apartamentNumber);
        end;
    WriteLn;
    WriteLn;
    used := [];
    for i := 0 to n - 2 do
        if Not(i in used)
        then
        begin
            j := i + 1;
            repeat
                flag := ((ar[i].city <> ar[j].city) And (ar[i].street = ar[j].street) And (ar[i].houseNumber = ar[j].houseNumber) And (ar[i].apartamentNumber = ar[j].apartamentNumber) And Not(j in used));
                Inc(j);
            until ((flag) Or (j >= n));
            if (flag)
            then
            begin
                with ar[i] do
                    Write(street, ', ', houseNumber, '/', apartamentNumber, ': ', i + 1, ' - ', city);
                Include(used, i);
                with ar[j - 1] do
                    Write('; ', j, ' - ', city);
                Include(used, j - 1);
                while (j < n) do
                begin
                    if ((ar[i].city <> ar[j].city) And (ar[i].street = ar[j].street) And (ar[i].houseNumber = ar[j].houseNumber) And (ar[i].apartamentNumber = ar[j].apartamentNumber) And Not (j in used))
                    then
                    begin
                        Write('; ', j + 1, ' - ', ar[j].city);
                        Include(used, j);
                    end;
                    Inc(j);
                end;
                WriteLn;
            end;
        end;
end.

Похожие ответы
  1. 1)В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры M . На какой этаж должен доставить лифт пассажира?(пассажир при необходимости может спуститься на этаж вниз) 2)Дата некоторого дня определяется тремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить: дату предыдущего дня; дату следующего дня.рассмотреть 2 случая, когда год является и не является високосны ps: помогите плиз, очень надо получить зачет.

  1. Всем привет. Помогите разобраться с задачей. 1. Заданы два натуральных числа a и b. Переменной w присвоить значение истина, если в одномерном целочисленном массиве имеется хотя бы один элемент, кратный а и не кратный b. Заранее благодарен.

  1. Составить программу для вычисления значения функции y = arcsin(x) с помощью разложения функции в степенной ряд. Саму функции прикрепил к посту.

  1. Дан двухмерный массив размера 3*4. Элементы набираются случайно из диапазона 1..20. Для каждого столбца массива найти среднее значение его элементов.

  1. дано уравнение a[i]+1/a[i])+(b[1]+...+b[8])•a[5] . Даны массивы а[i=1..7], в[J=1..9] . нужно найти z[i] помогите пожалуйста. оч надо. спасибо!

  1. Найти наибольший и наименьший элементы матрицы R(KxN),К<=20,N<=10 и поменять их местами.

  1. Даны натуральное числа n, действительные числа x, y, an, bn, an-1, bn-1, ... , a0, b0. Вычислить по схеме Горнера значение многочлена с комплексными коэффициентами (an + ibn)(x + iy)n + (an-1 + ibn-1)(x + iy)n-1 + ... + (a0 + ib0). (Определить процедуры выполнения арифметических операций над комплексными числами.) (x + iy)n-1 - в степени n-1 Прошу помочь, потому что вообще не представляю что нужно делать.Добавлено через 4 часа 59 минут Up..Добавлено через 15 часов 56 минут up

  1. Здравствуйте, нужна помощь, не могу понять, объяснить никто не может. Турнирная таблица соревнований представлена квадратной матрицей A, каждый элемент которой aij есть число голов, забитых i-ой командой в ворота j-ой команды. По диагонали расположить место каждой команды (по числу побед за вычетом числа поражений; в случае равенства – по разности забитых и пропущенных голов). Буду благодарен.

  1. Помогите создать матрицу, чтобы пользователь самостоятельно вводил переменные. В коде выдаёт ошибку в последнем end.


Нашли ошибку?
Развитие проекта
Яндекс.Метрика