
12. Даны матрицы А(5,6) и В(5,6). Из максимальных элементов столбцов матрицы А сформировать вектор
С. Из минимальных элементов столбцов матрицы В сформировать вектор D. Если количество четных элементов в векторе С больше количества четных элементов в векторе D, то добавить вектор С в матрицу А 6-ой строкой, иначе объединить два вектора С и D в один М(12). Pascal ABC

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

A, B: array [1 .. 6, 1 .. 6] of byte;
C, D: array [1 .. 6] of byte;
M: array [1 .. 12] of byte;
i, j, MIN, MAX, evenCountC, evenCountD: byte;
begin
randomize;
for j := 1 to 6 do
begin
MAX := 0; MIN := 100;
evenCountC := 0; evenCountD := 0;
for i := 1 to 5 do
begin
A[i, j] := random(20);
B[i, j] := random(20);
if A[i, j] > MAX then MAX := A[i, j];
if B[i, j] < MIN then MIN := B[i, j];
end;
C[j] := MAX;
D[j] := MIN;
end;
writeln(' ***Матрица A***');
for i := 1 to 5 do
begin
for j := 1 to 6 do write(A[i, j]:4);
writeln;
end;
writeln;
writeln(' ***Матрица B***');
for i := 1 to 5 do
begin
for j := 1 to 6 do write(B[i, j]:4);
writeln;
end;
writeln;
writeln('***Вектор C***');
for i := 1 to 6 do
begin
writeln(C[i]:7);
if C[i] mod 2 = 0 then evenCountC := evenCountC + 1;
end;
writeln('Количество четных элементов в векторе C = ', evenCountC);
writeln;
writeln('***Вектор D***');
for i := 1 to 6 do
begin
writeln(D[i]:7);
if D[i] mod 2 = 0 then evenCountD := evenCountD + 1;
end;
writeln('Количество четных элементов в векторе D = ', evenCountD);
if evenCountC > evenCountD then
begin
writeln('Добавляем вектор C к матрице A.');
for i := 1 to 6 do A[6, i] := C[i];
writeln(' ***Измененная матрица A***');
for i := 1 to 6 do
begin
for j := 1 to 6 do write(A[i, j]:4);
writeln;
end;
end
else
begin
writeln('Объединяем два вектора C и D.');
writeln('Новый вектор M');
for i := 1 to 6 do M[i] := C[i];
for i := 7 to 12 do M[i] := D[i - 6];
for i := 1 to 12 do writeln(M[i]:7);
end;
readln;
end.





Конечно, давайте разберем задачу.
1. Создадим матрицы A и B:
```pascal const rows = 5; cols = 6;
var A, B: array[1..rows, 1..cols] of integer; ```
2. Заполним матрицы случайными значениями:
```pascal procedure FillMatrix(var M: array of array of integer); var i, j: integer; begin for i := 1 to rows do for j := 1 to cols do M[i, j] := Random(100); // случайные значения от 0 до 99 end; ```
3. Теперь заполним матрицы A и B:
```pascal FillMatrix(A); FillMatrix(B); ```
4. Найдем максимальные и минимальные элементы столбцов:
```pascal var C, D: array[1..cols] of integer; i, j: integer;
// Инициализация векторов C и D for j := 1 to cols do begin C[j] := A[1, j]; // начальное значение для сравнения D[j] := B[1, j];
for i := 2 to rows do begin if A[i, j] > C[j] then C[j] := A[i, j];
if B[i, j] < D[j] then D[j] := B[i, j]; end; end; ```
5. Подсчитаем количество четных элементов в векторах C и D:
```pascal var countC, countD: integer;
countC := 0; countD := 0;
for j := 1 to cols do begin if C[j] mod 2 = 0 then Inc(countC);
if D[j] mod 2 = 0 then Inc(countD); end; ```
6. В зависимости от условия добавим вектор C в матрицу A или объединим векторы C и D:
```pascal if countC > countD then begin // Добавить вектор C в матрицу A for j := 1 to cols do A[6, j] := C[j]; end else begin // Объединить векторы C и D в один вектор M var M: array[1..12] of integer;
// Копировать вектор C в начало вектора M for j := 1 to cols do M[j] := C[j];
// Копировать вектор D в конец вектора M for j := 1 to cols do M[j + cols] := D[j]; end; ```
Это основной код задачи, который выполняет описанные в задаче действия. Не забудьте объявить переменные и проинициализировать их перед использованием.


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







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