Урок 15 Задача 13
Primary tabs
program u15z13; type newArr = array [1..5] of integer; newArr2 = array [1..3] of integer; var min,max,n,i,s,a,j,k,d: integer; promArr: newArr; promArr2: newArr2; procedure shiftArr(var promArr: newArr; k:integer); var j:integer; begin for j:=k to 4 do begin promArr[j]:=promArr[j+1]; end; promArr[high(promArr)]:=0; end; procedure out(var promArr: newArr); begin for j := low(promArr) to high(promArr) do write(promArr[j],' '); end; begin randomize(); min:=1; max:=5; j:=1; k:=0; d:=0; for i := low(promArr) to high(promArr) do begin promArr[i] := min + random(max - min +1); write(promArr[i],' '); promArr[i]:= promArr[j]; j:=j+1; end; writeln('vvedite 3 chisla'); // vvedenie trex chisel for s:=1 to 3 do // кол-во вводимых чисел begin readln(a); promArr2[s] := a; end; s:=1; while (s < 4) do begin for j := low(promArr) to high(promArr) do begin k:=k + 1; if (promArr2[s] = promArr[j]) then begin shiftArr(promArr,k); // процедура со сдвигом d:=d+1; // счётчик кол-ва повторений одной цифры end; end; if (d >= 1) then begin s:=s; d:=d-1; // счётчик в случае если цифра повторяется end else s:=s+1; k:=0; end; out(promArr); // вывод массива через процедуру readln(); end.
- Log in to post comments
- 178 reads
vedro-compota
Wed, 01/15/2025 - 16:57
Permalink
вопросы/замечания
1)
-- вложенные бегин-ы лишние
2)
-- если известно число повторений, лучше испольовать цикл for
3)
а зачам нам тут вообще считать вхождения цифры?
_____________
матфак вгу и остальная классика =)
vedro-compota
Sat, 02/08/2025 - 20:17
Permalink
мое решение из разбора
мое решение из разбора
_____________
матфак вгу и остальная классика =)