Pascal ABC или PascalABC.NET. Дан массив размером n×n, элементы которого — целые числа. Для каждого столбца найти первый положительный элемент и записать данные в новый массив. При решении использовать двумерный массив.
Ответы на вопрос
Идея такая: идём по каждому столбцу сверху вниз и ищем первый элемент, который больше нуля. Если нашли — записываем его в новый одномерный массив. Если в столбце положительных чисел нет, запишем \(0\).
Программа на PascalABC.NET:
program FirstPositiveInColumns;
var
a: array[,] of integer;
b: array of integer;
n, i, j: integer;
found: boolean;
begin
write('n = ');
readln(n);
SetLength(a, n, n);
SetLength(b, n);
writeln('Введите элементы массива:');
for i := 0 to n - 1 do
for j := 0 to n - 1 do
read(a[i, j]);
for j := 0 to n - 1 do
begin
found := false;
b[j] := 0;
for i := 0 to n - 1 do
if (a[i, j] > 0) and not found then
begin
b[j] := a[i, j];
found := true;
end;
end;
writeln('Первые положительные элементы столбцов:');
for j := 0 to n - 1 do
write(b[j], ' ');
end.
Здесь \(a\) — двумерный массив, а \(b\) — новый массив, куда записываются найденные элементы по столбцам.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

