Pascal ABC:Дана последовательность чисел, среди которых имеется несколько нулей. Вывести на печать (построчно) числа стоящие до 1-го нуля и числа стоящие между нулями. пример:  входные данные     10     1 0 1 2 3 0 15 4 0 7  вы...

Pascal ABC: Дана последовательность чисел, среди которых имеется несколько нулей. Вывести на печать (построчно) числа стоящие до 1-го нуля и числа стоящие между нулями.  пример:   входные данные      10      1 0 1 2 3 0 15 4 0 7   выходные данные      1      1 2 3      15 4
Гость
Ответ(ы) на вопрос:
Гость
const   n = 50; {Максимальное количество чисел в последовательности}   t = -77;{Число-ограничитель, означающее конец ввода} type   ta = array[1..n] of integer; var   a: ta; {массив членов последовательности}   az: ta; {массив, содержащий номера нулей в последовательности}   kz: integer; {количество членов в массиве az}    i, iz, p, n1, n2: integer;   flag: boolean; begin   {Вводим числа и сразу же отслеживаем номера нулей в последовательности}   Writeln('Вводите последовательность чисел, окончание ввода по -77');   i := 0; iz := 0;   repeat     Read(p);     if p <> t then begin       i := i + 1;       a[i] := p;       if p = 0 then begin         iz := iz + 1;         az[iz] := i;       end     end   until p = t;   kz := iz;   Writeln('Вывод последовательностей');   {1. До первого встреченного нуля}   for i := 1 to az[1] - 1 do Write(a[i], ' ');   Writeln;   {2. Остальные промежутки}    for iz := 1 to kz do   begin     for i := az[iz] + 1 to az[iz + 1] - 1 do Write(a[i], ' ');     Writeln;   end end. Тестовое решение: Вводите последовательность чисел, окончание ввода по -77 1 2 3 0 5 6 7 0 0 10 11 12 13 0 15 16 17 18 19 20 -77 Вывод последовательностей 1 2 3 5 6 7 10 11 12 13
Не нашли ответ?
Ответить на вопрос
Похожие вопросы