wwelife.ru

Блог о заработке в Интернете

Дата публикации:

Помогите решить задачу pascal. В предвыборной кампании проводится регистрация кандидатов в депутаты.

a0f5e660

Помогите решить задачу pascal. В предвыборной кампании проводится регистрация кандидатов в депутаты.

Для решения данной задачи необходимо иметь информацию о количестве кандидатов в каждом округе, их возрасте и профессии. После этого можно вычислить средний возраст кандидатов в каждом округе.

Пример решения на языке Pascal:

program ElectionCampaign;

const
  MAX_CANDIDATES = 100; // максимальное количество кандидатов
  MAX_DISTRICTS = 10; // максимальное количество округов

type
  Candidate = record
    district: Integer; // номер округа
    party: string; // наименование партии
    age: Integer; // возраст
    profession: string; // профессия
  end;

var
  candidates: array[1..MAX_CANDIDATES] of Candidate; // массив кандидатов
  districtCount: array[1..MAX_DISTRICTS] of Integer; // массив количества кандидатов в каждом округе
  districtAvgAge: array[1..MAX_DISTRICTS] of Real; // массив среднего возраста кандидатов в каждом округе
  i, j, n: Integer; // счетчики и переменная для количества кандидатов

begin
  // Ввод количества кандидатов
  writeln('Введите количество кандидатов:');
  readln(n);

  // Ввод информации о кандидатах
  writeln('Введите информацию о кандидатах:');
  for i := 1 to n do
  begin
    writeln('Кандидат ', i);
    writeln('Номер округа:');
    readln(candidates[i].district);
    writeln('Наименование партии:');
    readln(candidates[i].party);
    writeln('Возраст:');
    readln(candidates[i].age);
    writeln('Профессия:');
    readln(candidates[i].profession);

    // Увеличение счетчика кандидатов в соответствующем округе
    districtCount[candidates[i].district] := districtCount[candidates[i].district] + 1;
  end;

  // Вычисление среднего возраста кандидатов в каждом округе
  for i := 1 to MAX_DISTRICTS do
  begin
    if districtCount[i] > 0 then
      districtAvgAge[i] := 0
    else
      districtAvgAge[i] := -1; // значение -1 для округов без кандидатов

    for j := 1 to n do
    begin
      if candidates[j].district = i then
        districtAvgAge[i] := districtAvgAge[i] + candidates[j].age;
    end;

    if districtCount[i] > 0 then
      districtAvgAge[i] := districtAvgAge[i] / districtCount[i];
  end;

  // Вывод среднего возраста кандидатов в каждом округе
  writeln('Средний возраст кандидатов в каждом округе:');
  for i := 1 to MAX_DISTRICTS do
  begin
    if districtAvgAge[i] >= 0 then
      writeln('Округ ', i, ': ', districtAvgAge[i]:0:2)
    else
      writeln('Округ ', i, ': нет кандидатов');
  end;

  readln;
end.

Программа запрашивает количество кандидатов, а затем запрашивает информацию о каждом кандидате (номер округа, наименование партии, возраст и профессию). Затем программа вычисляет средний возраст кандидатов в каждом округе и выводит результат на экран. Если в округе нет кандидатов, выводится сообщение "нет кандидатов".