Пожалуйста,помогите решитьn задачи Pascal.Помогите решить хотя бы те ,которые сможете♥♥.СРОЧНО НУЖНО НА ЗАВТРА. 1)Заполните масс
Пожалуйста,помогите решитьn задачи Pascal.Помогите решить хотя бы те ,которые сможете♥♥.СРОЧНО НУЖНО НА ЗАВТРА. 1)Заполните массив их 20 элементов целыми числами из интервала [-10;19],используя генератор случайных величин. 2)Заполнить массив из 10 элементов целыми числами из интервала -20-29 числа вводятся с клавиатуры. 3)Используя программу к задаче 1,напишите программу,которая подсчитывает количество положительных элементов массива. 4)Используя программу к задаче 1,напишите программу ,которая заменяет все отрицательные элементы массива на 0. 5)Используя программу к задаче 1,напишите программу,которая находит сумму всех положительных элементов массива.
// PascalABC.NET 3.0, сборка 1128 begin var a:=ArrRandom(20,-10,19); a.Println(','); // 1 var b:=ReadArrInteger('Введите 10 целых чисел',10); // 2 Writeln('Количество положительных элементов ', a.Where(x->x>0).Count); // 3 for var i:=0 to 19 do if a[i]<0 then a[i]:=0; Writeln('Массив А после замены отрицательных'); a.Println(','); //4 Writeln('Сумма положительных элементов ', a.Where(x->x>0).Sum) // 5 end.
<u><em>Тестовое решение:</em></u> 14,8,9,-5,6,3,3,-10,-8,18,7,13,2,17,-1,0,4,-3,8,-8 Введите 10 целых чисел -5 0 13 -7 -14 11 8 19 -3 -1 Количество положительных элементов 13 Массив А после замены отрицательных 14,8,9,0,6,3,3,0,0,18,7,13,2,17,0,0,4,0,8,0 Сумма положительных элементов 112
var a:array [1..20] of integer; i:integer; begin randomize; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); end; <span>end.
Задача №2
</span>var a:array [1..20] of integer; i:integer; begin writeln('Введите числа в интервале [-20;29]'); for i:=1 to 10 do read(a[i]); for i:=1 to 10 do if (a[i]>-29) and (a[i]<20) then write(a[i],' '); <span>end. </span> Задача №3
var a:array [1..20] of integer; i,sum:integer; begin randomize; sum:=0; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); if a[i]>0 then sum:=sum+1; end; writeln('Количество положительных элементов массива = ', sum); <span>end. </span> Задача №4
var a:array [1..20] of integer; i:integer; begin randomize; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; if a[i]<0 then a[i]:=0; write (a[i],' '); end; <span>end. </span> Задача №5
var a:array [1..20] of integer; i,sum:integer; begin randomize; sum:=0; for i:=1 to 20 do begin a[i]:=random(19-(-10)+1)+-10; write (a[i],' '); if a[i]>0 then sum:=sum+a[i]; end; writeln('Сумма положительных элементов массива = ', sum); end.
Var i,b,c:integer; a:array[1..100] of integer; Begin Read(b); I:=1; While b<>0 do Begin A[i]:=b; I:=i+1; Read(b); End; C:=i-1; D:=0; B:=0; For i:=1 to c do If a[i]>99 Then begin b:=b+a[i]; d:=d+1; end; If b=0 Then writeln('NO') Else writeln(b/d); End.
Var
arr: array[1..100] of integer;
i, n, min, max: integer;
begin
min:=1;
max:=1;
readln(n);
for i:=1 to n do
begin
arr[i]:=random(100);
write(arr[i], ' ');
if arr[i]>arr[max] then max:=i;
if arr[i]<arr[min] then min:=i;
end;
writeln;
writeln('Минимальный(', arr[min], '); Максимальный(', arr[max], ');');
end<span>.</span>
Под локальным максимумом, скорее всего, имеется в виду число, большее
чем оба его соседа, за исключением случая, когда соседом справа является
0. В таком случае достаточно однократно пройтись по всем числам, запоминая минимальное из расстояний между новым и предыдущим обнаруженными максимумами. Программа (язык Pascal ABC.Net) var i1,i2,i3:integer; i:integer; curr,minr,lastmax:integer; begin readln(i1,i2); i:=2; minr:=1000000; repeat readln(i3); if (i2>i1) and (i2>i3) and (i3<>0) then begin curr:=i-lastmax; if curr<minr then minr:=curr; lastmax:=i; end;
i1:=i2; i2:=i3; i+=1; until i2=0; if minr=1000000 then writeln(0) else writeln(minr); {стоило бы добавить булевую переменную в качестве флага - был ли хоть один max, но вряд ли расстояние между ними превысит миллион :-} end.