Series33. Даны целые числа $$K$$, $$N$$, а также $$K$$ наборов целых чисел по $$N$$ элементов в каждом наборе. Для каждого набора вывести номер его последнего элемента, равного 2, или число 0, если в данном наборе нет двоек.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
program Series33; var K,N,Ni,Ki,A,Num:Integer; begin Write('N: '); Readln(N); Write('K: '); Readln(K); for Ki:=1 to K do begin Num:=0; for Ni:=1 to N do begin write('Введите ',Ni,' число из ',Ki ,' набора :'); Readln(A); if A=2 then Num:=Ni; end; Writeln(Num); end; end. |
Другие задачи из раздела Series можно посмотреть здесь.
При таком решении здесь тоже выведет все, а не только номер последнего совпадения. Поэтому из предыдущего решения убрал break, остальное то же самое:
Опять же, ссылаясь на предыдущий пример такого не должно произойти, т.к. в цикле ввода значений
я не вывожу результаты, а только добавляю в переменную num номер последнего элемента со значением 2.
а уже после цыкла вывожу его значение Writeln(Num);
А если : var b:= a.FindLastIndex(x->x=2);
c:=b+1;