
ПОМОГИТЕ! ПАСКАЛЬ! Создать ДВОЙНОЙ массив интервалом 6 на 6 случайным образом интервал(-50;50].
1.Найдите количество отрицательных элементов второго столбца. 2.Заменить все положительные элементы на минимальные.

Ответы на вопрос

//PascalABC.NET v3.3 1633
var arr: array [1..6, 1..6] of integer;
begin
for var i:=1 to 6 do
for var j:=1 to 6 do
arr[i, j]:=random(-49, 50);
writeln('Исходный массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
var num:=0;
for var i:=1 to 6 do
if arr[i, 2] < 0 then num += 1;
writeln('Количество отрицательных элементов второго столбца: '+num);
for var i:=1 to 6 do
for var j:=1 to 6 do
if arr[i, j] > 0 then arr[i, j]:=-49;
writeln('Новый массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
end.



Конечно, помогу! Для решения данной задачи на языке Паскаль, вам нужно создать двумерный массив, заполненный случайными числами из интервала (-50; 50]. Затем, выполните поставленные задачи. Ниже приведен код на языке Паскаль (Pascal):
pascalprogram DoubleArray; const Rows = 6; Cols = 6; var arr: array[1..Rows, 1..Cols] of Integer; i, j, negCount, minVal: Integer; { Заполнение массива случайными значениями } procedure FillArrayRandomly; begin Randomize; for i := 1 to Rows do for j := 1 to Cols do arr[i, j] := Random(100) - 50; { Случайное число в интервале (-50; 50] } end; { Вывод массива на экран } procedure PrintArray; begin for i := 1 to Rows do begin for j := 1 to Cols do Write(arr[i, j]:4); Writeln; end; end; { Подсчет количества отрицательных элементов второго столбца } function CountNegativesInSecondColumn: Integer; begin Result := 0; for i := 1 to Rows do begin if arr[i, 2] < 0 then Inc(Result); end; end; { Поиск минимального значения в массиве } function FindMinValue: Integer; begin Result := arr[1, 1]; for i := 1 to Rows do begin for j := 1 to Cols do begin if arr[i, j] < Result then Result := arr[i, j]; end; end; end; { Замена положительных элементов на минимальное значение } procedure ReplacePositivesWithMinValue(minValue: Integer); begin for i := 1 to Rows do begin for j := 1 to Cols do begin if arr[i, j] > 0 then arr[i, j] := minValue; end; end; end; begin FillArrayRandomly; Writeln('Исходный массив:'); PrintArray; { Задача 1: Подсчет количества отрицательных элементов второго столбца } negCount := CountNegativesInSecondColumn; Writeln('Количество отрицательных элементов второго столбца: ', negCount); { Задача 2: Замена положительных элементов на минимальные } minVal := FindMinValue; ReplacePositivesWithMinValue(minVal); Writeln('Массив после замены положительных элементов на минимальные:'); PrintArray; end.
Обратите внимание, что в коде используется процедура FillArrayRandomly
, чтобы заполнить массив случайными значениями из интервала (-50; 50]. Затем мы считаем количество отрицательных элементов во втором столбце с помощью функции CountNegativesInSecondColumn
. Для нахождения минимального значения в массиве используем функцию FindMinValue
. Наконец, функция ReplacePositivesWithMinValue
заменяет положительные элементы на минимальное значение.


Похожие вопросы

Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili