Так как нету в вопросе конкретики, равномерное движение или неравномерное, и нужны ли проверки ввёл ли пользователь недопустимый параметр, то схема выглядит вот так , там где L = расстояние между А и Б
DIM ch$(26) FOR i = 1 TO 26 ch$(i) = CHR$(ASC("a") + i - 1) NEXT
DIM cw(26) AS LONG
PRINT "text:" INPUT "", s$ DO WHILE s$ <> "*" s$ = s$ + " " iw = 0 FOR i = 1 TO LEN(s$) c$ = MID$(s$, i, 1) IF iw = 0 AND c$ <> " " THEN iw = 1 idx = ASC(c$) - ASC("a") + 1 cw(idx) = cw(idx) + 1 ELSEIF iw = 1 AND c$ = " " THEN iw = 0 END IF NEXT INPUT "", s$ LOOP
FOR i = 1 TO 25 m = i FOR j = i TO 26 IF cw(j) > cw(m) OR (cw(j) = cw(m) AND ch$(j) < ch$(m)) THEN m = j END IF NEXT IF m <> i THEN tmp = cw(m) cw(m) = cw(i) cw(i) = tmp tmp$ = ch$(m) ch$(m) = ch$(i) ch$(i) = tmp$ END IF NEXT
FOR i = 1 TO 26 IF cw(i) <> 0 THEN PRINT ch$(i) + ":"; cw(i) END IF NEXT
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin Writeln('*** Исходный массив ***'); var v:=MatrRandom(7,7,-15,15); v.Println(4); Writeln(4*v.ColCount*'-'); var pr3:=v.Row(2).Aggregate(1,(x,y)->x*y); Writeln('Произведение элементов 3-й строки равно ',pr3); Writeln('Количество элементов, больших этого произведения, равно ', v.ElementsByRow.Where(t->t>pr3).Count); Writeln('Максимум в 3-м столбце равен ',v.Col(2).Max) end.
Так как нету в вопросе конкретики, равномерное движение или неравномерное, и нужны ли проверки ввёл ли пользователь недопустимый параметр, то схема выглядит вот так , там где L = расстояние между А и Б