Официальный сайт zakonoproekt2010 24/7/365

Вы не зарегистрированы

Авторизация



На: Разбор задач С4

Елена Евгеньевна Лапшева
Фото пользователя Елена Евгеньевна Лапшева
На сайте с: 17/12/2008
Пользователь в офф-лайн. Последнее посещение 8 лет 45 недель назад.
На: Разбор задач С4

Вот мое решение.

Я создала одномерный массив, где индексы элементов - номера школ, а значения элементов - количество учеников, выступавших от этой школы.

Первый цикл - обнуление массива.

Второй цикл - считывание входных данных и заполнение массива.

Третий цикл (while) - поиск первой школы (с минимальным номером), котороя предоставила хотя бы одного ученика.

Четвертый цикл - посик минимального, но не нулевого элемента массива.

Пятый цикл - вывод номеров элементов массива, чье значение равняется минимальному (но не нулевому).

Мое решение - три прохода по массиву (если не считать ввода данных).

var
 a: array [1..99] of integer;
 i, k, n, m: integer;
 s, t: string;
begin
 assign (input, 'input.txt'); reset (input);
 assign (output, 'output.txt'); rewrite (output);
 readln (n);
 for i:=1 to 99 do
   a[i]:=0;
 for i:=1 to n do
  begin
   readln (s); {считываем строку}
   k:=length (s); {определяем ее длину}
   t:=s[k-1]+s[k]; {отрезаем последние два символа - это или двузначное число, или пробел и однозначное число}
   val (t, m, k); {переводим строку в число - номер школы}
   a[m]:=a[m]+1; {прибавляем единицу к количеству детей от данной школы}
  end;
  i:=1;
  while a[i]=0 do i:=i+1; {ищем первую участвующую школу}
  m:=a[i];
  for k:=i to 99 do
   if (a[k]<>0) and (a[k]<m) {поиск минимального ненулевого элемента}
    then m:=a[k];
  for i:=1 to 99 do
   if a[i]=m then write (i:3); {вывод результата}
 close (input);
 close (output);
end.
 

 

Лапшева Елена, Саратов

Смотреть видео онлайн


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн