Написать программу в паскале дан двумерный массив размером 4*6,заполненный целыми числами с клавиатуры.сформировать одномерный массив,каждый элемент которого равен кол-ву элементов соответствующей строки,больших данного числа.
Var x:real; arr2: array [1..4,1..6] of integer; arr1: array [1..4] of integer; begin writeln('Введи число для сравнения'); readln(x); for var i:=1 to 4 do begin writeln('Вводим строку ',i); for var j:=1 to 6 do begin writeln('Введи число ', j); readln(arr2[i,j]); if arr2[i,j]>x then arr1[i]:=arr1[i]+1; end; end; writeln('Двумерный массив: ', arr2, ' Количество чисел больше заданного: ', arr1); end.
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var (imin,imax):=(a.IndexMin,a.IndexMax); Writeln('Индекс минимального элемента- ',imin,', максимального- ',imax); Writeln('Максимум и минимум равны ',a[imax],', ',a[imin]) end.
Пример n= 20 45 5 -3 16 -37 24 -2 2 49 25 0 -37 17 26 -38 7 -11 21 3 -7 Индекс минимального элемента- 14, максимального- 8 Максимум и минимум равны 49, -38
Начиная с данной сборки PascalABC.NET вывод можно оформлять и так:
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var (imin,imax):=(a.IndexMin,a.IndexMax); Writeln($'Min a[{imin}]={a[imin]}, max a[{imax}]={a[imax]}') end.
Пример n= 20 40 -13 -7 7 45 -28 3 -40 37 45 10 47 -38 -39 25 -46 45 -44 42 44 Min a[15]=-46, max a[11]=47
Заметим, что числа образуют арифметическую прогрессию, а её сумма известна: Поэтому два варианта программы: один вычисляет сумму накоплением, второй сразу определяет результат по формуле. Хороший пример того, что программист должен знать математику.
var n, i, s: integer;
begin Write('Введите натуральное число: '); Readln(n); if (n mod 2) = 0 then begin s := 0; for i := 1 to n do s := s + i; Writeln('Сумма чисел от 1 до ', n, ' равна ', s) end else Writeln('Введено нечетное число') end.
Тестовое решение:
Введите натуральное число: 8 Сумма чисел от 1 до 8 равна 36
var n, s: integer;
begin Write('Введите натуральное число: '); Readln(n); if (n mod 2) = 0 then Writeln('Сумма чисел от 1 до ', n, ' равна ', ((1 + n) * n) div 2) else Writeln('Введено нечетное число') end.
Тестовое решение:
Введите натуральное число: 8 Сумма чисел от 1 до 8 равна 36
x:real;
arr2: array [1..4,1..6] of integer;
arr1: array [1..4] of integer;
begin
writeln('Введи число для сравнения');
readln(x);
for var i:=1 to 4 do
begin
writeln('Вводим строку ',i);
for var j:=1 to 6 do
begin
writeln('Введи число ', j);
readln(arr2[i,j]);
if arr2[i,j]>x then arr1[i]:=arr1[i]+1;
end;
end;
writeln('Двумерный массив: ', arr2, ' Количество чисел больше заданного: ', arr1);
end.