n, counter, spisok, new_spisok = int(input()), 0, [], []
while counter != n:
spisok.append(int(input()))
counter += 1
c1, c2 = int(input()), int(input())
for i in spisok:
if c1 <= i <= c2:
new_spisok.append(i)
print(new_spisok, len(new_spisok))
Объяснение:
1) хз зачем там цикл while, но раз в условии написано, то сделал через него;
2) скорее всего работать нужно со списками, а не массивами, так как append - метод списка;
3) если нужно, могу объяснить каждую строку;
4) формат вывода массива не указан, поэтому вывод обычного массива с его длиной через запятую;
5) нижние слеши это пробелы типа)
Объяснение:
s: string;
function FindWord(first: integer): integer;
// Возвращает номер позиции правее first, где находится очередной разделитель
var
i: integer;
c: char;
begin
i := first + 1;
Result := 0;
repeat
c := s[i];
if (c = ',') or (c = '.') then Result := i
else i := i + 1
until (Result > 0) or (c = '')
end;
var
ib, ie, k,n: integer;
begin
writeln('Введите строку, отделяя слова запятыми, в конце введите точку');
readln(s);
k := 0;
ib := 1;
n:=length(s);
repeat
ie := FindWord(ib);
if ie > 0 then begin
if UpCase(s[ib]) = 'A' then k := k + 1;
ib := ie + 1
end;
until (ie = 0) or (ie>=n);
writeln('Количество слов, начинающихся с буквы "а", равно ', k)
end.
Введите строку, отделяя слова запятыми, в конце введите точку
A,roza,upala,na,lapu,azora,Antoshka,skazhi,ge,ty,del,moy,portfel?.
Количество слов, начинающихся с буквы "а", равно 3