Дан целочисленный массив размера n. преобразовать массив, увеличив его последнюю серию наибольшей длины на один элемент. паскаль
214
384
Ответы на вопрос:
Type v = array of integer; var i, n, ic, nc, kc, imax, nmax, kmax: integer; a: v; begin write('введите количество чисел n '); readln(n); setlength(a, n + 1); writeln('вводите числа'); for i : = 0 to n - 1 do read(a[i]); writeln; nmax : = -32768; kmax : = 0; imax : = 0; nc : = a[0]; kc : = 1; ic : = 1; for i : = 1 to n - 1 do begin if a[i] = nc then kc : = kc + 1 else begin if kc < 3 then begin kc : = 1; nc : = a[i]; ic : = i end else if kmax < = kc then begin kmax : = kc; nmax : = nc; imax : = ic; kc: =1; nc: =a[i]; ic: =i end else begin kc : = 1; nc : = a[i]; ic : = i end end end; if kmax < = kc then begin kmax : = kc; nmax : = nc; imax : = ic end; writeln('самая длинная серия содержит ', kmax, ' чисел ', nmax); for i: =n downto imax+kmax+1 do a[i]: =a[i-1]; a[imax+kmax]: =nmax; writeln('модифицированная строка'); for i: =0 to n do write(a[i]: 2) end. тестовое решение введите количество чисел n 30 вводите числа 1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 3 3 3 3 1 2 3 3 3 самая длинная серия содержит 6 чисел 8 модифицированная строка 1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 8 3 3 3 3 1 2 3 3
Program array129; var a: array [1..40] of integer; b: array [1..20] of integer; c: array [1..20] of integer; temp,m,n,i,j: integer; begin writeln('введите n (n< =20)'); readln(n); writeln('значения массива а'); for i: =1 to n do begin write('a[',i,']='); readln(a[i]); b[i]: =i; end; // решение temp: =0; m: =0; // формируем из исходного массива a[] два с длиной серий b[] и значением серий c[] for i: =2 to n do begin inc(temp); if a[i]< > a[i-1] then begin inc(m); b[m]: =temp; c[m]: =a[i-1]; temp: =0; end; end; inc(temp); inc(m); b[m]: =temp; c[m]: =a[i]; // складываем массив a[] согласно . temp: =1; for i: =1 to m do begin if b[i]> =b[temp] then begin temp: =i; end; end; inc(b[temp]); temp: =0; for i: =1 to m do begin for j: =1 to b[i] do begin inc(temp); a[temp]: =c[i]; end; end; writeln; writeln('ответ'); write(' a[]: '); for i: =1 to temp do write(a[i],' '); end.
ответ:
> > > import string
> > > string.ascii_letters
'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'
> > > import random
> > > random.choice(string.ascii_letters)
'j'
объяснение:
- string.ascii_letters возвращает строку, содержащую строчные и прописные буквы в соответствии с текущей локалью.
- random.choice возвращает один случайный элемент из последовательности.
Популярно: Информатика
-
rrr4606.08.2020 19:25
-
irisha19078428.03.2022 04:27
-
MaryGaloyan09.03.2021 20:29
-
Тень225306.03.2022 05:28
-
cooldasha1104218.02.2023 03:21
-
keril110131.05.2021 09:40
-
ilyas5920.12.2022 04:45
-
danifoxyforevep08iko18.01.2022 05:03
-
АлинаКовтун15.08.2020 05:07
-
kristinaalekse111.11.2020 10:24