Дан
10-11 класс
|
двумерный массив размерностью 5 х 6, заполненный случайным образом.
−
заменить минимальный элемент каждой строки на противоположный.
−
вставить после столбцов с максимальными элементами столбец из единиц.
−
удалить первую строку.
−
поменять местами предпоследний и последний столбцы.
type
mas=array[,] of integer;
var
i,j,ik,jk,k,max:integer;
a:mas;
b:array[0..5]of integer;//вспомогательный массив
begin
setlength(a,5,6);
writeln('Массив:');
// в массиве b минимальное число строки
for i:=0 to 4 do
begin
for j:=0 to 5 do
begin
a[i,j]:=random(-10,10);
write(a[i,j]:4);
if j=0 then b[i]:=a[i,0];
if a[i,j]<b[i] then b[i]:=a[i,j];
end;
writeln;
end;
writeln('Замена минимального противоположным:');
for i:=0 to 4 do
begin
for j:=0 to 5 do
begin
if a[i,j]=b[i] then a[i,j]:=-a[i,j];
write(a[i,j]:4);
end;
writeln;
end;
writeln('Вставка столбцов:');
// в массиве b признак наличия в столбце максимума
for i:=0 to 5 do b[i]:=0;
for i:=0 to 4 do
for j:=1 to 5 do
if a[i,j]>max then max:=a[i,j];
for i:=0 to 4 do
for j:=0 to 5 do
if a[i,j]=max then b[j]:=1;
for i:=0 to 5 do k:=k+b[i];
k:=5+k;
setlength(a,5,k+1);
jk:=k;
for j:=5 downto 0 do
begin
if b[j]=1 then
begin
for ik:=0 to 4 do a[ik,jk]:=1;
jk:=jk-1;
end;
for ik:=0 to 4 do a[ik,jk]:=a[ik,j];
jk:=jk-1;
end;
for i:=0 to 4 do
begin
for j:=0 to k do write(a[i,j]:4);
writeln;
end;
writeln('Удаление первой строки:');
for i:=0 to 3 do
for j:=0 to k do
a[i,j]:=a[i+1,j];
setlength(a,4,k+1);
for i:=0 to 3 do
begin
for j:=0 to k do
write(a[i,j]:4);
writeln;
end;
writeln('Обмен столбцов:');
for i:=0 to 3 do
begin
b[i]:=a[i,k-1];
a[i,k-1]:=a[i,k];
a[i,k]:=b[i];
end;
for i:=0 to 3 do
begin
for j:=0 to k do write(a[i,j]:4);
writeln;
end;
end.
Удалить первую строку - это как? Заполнить ее нулями?
Все задания в одной проге делать?
да....в одной проге
замените её нулями
Если никто раньше не решит, завтра сделаю
Другие вопросы из категории
Задание: даны действительные а1,...,аn. Вычислить сумму положительных и произведение четных членов данного массива, если таких членов нет, выдать сообщение
Нужно эту программу переписать для вещественных чисел
Program lr4
;var A: array[1..25] of integer; i,j,k,c:integer;
begin
writeln('Исходный массив:');
for i:=1 to 25 do
A[i]:=random(25);
randomize;
for i:=1 to 25 do write(A[i]:2:2,' ');
writeln;for c:=1 to 25 do {количество сравнений}
for i:=1 to 24 do
begin
if a[i]<a[i+1] then {меняем местами соседние элементы}
begin
k:=A[i+1];
A[i+1]:=A[i];
A[i]:=k
end;
end;
for i:=1 to 25 do
write(A[i]:2:2, ' '); {упорядоченный массив}
readln;end.
Читайте также
передавать эти данные по другой линии связи со скоростью 4 Мбит/с. Сколько секунд пройдет от начала приема данных по высокоскоростному каналу до полной передачи их по низкоскоростному каналу?
выходных данных: Необходимо вывести значение выражения
Входные данные: ввести одно целое положительное число a ((1<=a<=1000).
Выходные данные: вывести слово «true» если приведенное высказывание для предложенных исходных данных является истинным или «false» в противном случае.
пользователем, выделены полужирным шрифтом).
Вычисление объема параллелепипеда.
Введите исходные данные:
Длинна (см): 9
Ширина (см): 7.5
Высота (см): 5