Результат исполнения программы число 100, нужно найти какое число ввели var a: array of integer; i, sun: integer; begin readin (a[1]); sum: =0; for i : =2 to 8 do a[i] : = a[i-1]+3; for i: =8 downto 1 do sum: = sum + a[i]; writeln(sum); end.
Есть массив из 8 элементов. Вводится одно число - первый элемент массива. Далее расчитываются остальные элементы массива, каждый из которых больше предыдущего на 3. Так получается арифметическая прогрессия с шагом 3, с 8 элементами, неизвестным первым числом и суммой 100. Далее берем формулу суммы ариф.пр. S=n(a1+an)/2=n(2a1+d(n-1))/2 выражаем а1=(2S/n-d(n-1))/2, подставляем и получаем (2*100/8 - 3(8-1))/2=2. ответ:2
Var arr: array[1..27] of integer; summ: integer; begin Randomize; for var i := 1 to 27 do begin arr[i] := random(-5, 5); summ := summ + arr[i]; end; writeln('Массив: ',arr); writeln('Сумма всех элементов массива = ',summ); for var i := 1 to 27 do if arr[i] = 0 then arr[i] := summ; writeln('Массив: ',arr); end.
пример работы: Массив: [5,-1,1,5,4,-2,-3,0,3,5,-3,-4,3,0,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1] Сумма всех элементов массива = 14 Массив: [5,-1,1,5,4,-2,-3,14,3,5,-3,-4,3,14,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]
var arr: array of integer; n,k,m: integer; begin write('Введи n: '); readln(n); Randomize; arr:= new integer[n]; for var i := 0 to n-1 do arr[i] := random(-5, 5); writeln('Массив: ',arr); for var i := 0 to n-1 do begin if arr[i]<0 then inc(k); if (i>=1) and (i<=6) then inc(m); if (i>=6) and (arr[i]>=0) then arr[i]:=1; end; writeln('Количество отрицательных элементов массива = ',k); writeln('Количество элементов массива в интервале [2..7] = ',m); writeln('Массив: ',arr); end.
Пример работы: Введи n: 5 Массив: [0,1,-4,1,3] Количество отрицательных элементов массива = 1 Количество элементов массива в интервале [2..7] = 4 Массив: [0,1,-4,1,3]
Введи n: 15 Массив: [0,1,4,3,-3,5,-4,-1,1,-2,3,1,-4,1,3] Количество отрицательных элементов массива = 5 Количество элементов массива в интервале [2..7] = 6 Массив: [0,1,4,3,-3,5,-4,-1,1,-2,1,1,-4,1,1]
В 3 пункте непонятно. "чему равна температура за первую половину сентября?" Средняя температура? Половина сентября? в задаче и так прдставлен массив половины сентября - с 1 по 15 число. uses crt; const n=15; var max,min,i,k:integer; sr:real; a:array[1..n] of integer; begin randomize; for i:=1 to n do begin a[i]:=random(23)-4; write(a[i]:3); end; writeln; max:=-4; for i:=1 to n do if a[i]>max then begin max:=a[i]; k:=i; end; writeln('a)',k,' day ',max,'temperature'); min:=19; for i:=1 to n do if a[i]<min then begin min:=a[i]; k:=i; end; writeln('a)',k,' day ',min,'temperature'); sr:=0; for i:=1 to n do sr:=a[i]+sr; sr:=sr/n; writeln('средняя температура за половину сентября ',sr); k:=0; for i:=1 to n do if a[i]<sr then begin inc(k); writeln(i,'сентября'); end; writeln(k); end.