Тема: « Вставка- удаление элементов массива » :18:06
Вычислить количество положительных элементов каждого столбца заданной матрицы A(N, M) вещественных чисел. Program matrix; uses crt; Var a: array [1..10, 1..10] of Real; n,m, i, j: integer; K:array[1..10] of integer; begin {Ввод массива:} Write('Количество строк, столбцов - '); ReadLn(n, m); for i:=1 to n do begin for j:=1 to m do begin a[ I,j ]:= Random( )-11; Write( a[I,j]:5:2, ); end; writeln; end; {Нахождение кол-во положит. по столбцам массива:} for j:=1 to m do begin K[j]:=0; for i:=1 to n do if a[I, j]>o then K[j]:= K[ j]+1; end; writeln( Kол-во положит. по столбцам массива ); for j:=1 to m do Write( К[j]:5, ); end.
Пример 1 Вставить строку из нулей на место строки с номером K Алгоритм: Все строки после к- ой сдвинуть на одну назад, начав с последней строки элементам строки к присвоить заданное значение
Program PR1; Uses crt; Var k, n, m, i, j:integer; a:array [1..10,1..10] of integer; BEGIN Randomize; Writeln ( введите число строк и столбцов ); Read(n,m); Writeln(Данный массив ); For i:=1 to n do Begin For j:=1 to m do Begin a[i,j]:=random( )-30; Write (a[i,j]:5, ); End; Writeln; End;
Writeln ( введите номер вставляемой строки ); Read(k); For i:= n downto k do For j:=1 to m do a[i+1,j]:= a[i,j]; For j:=1 to m do a[k,j]:= 0; Writeln( Массив после замены ); For i:=1 to n+1 do Begin For j:=1 to m do Begin Write (a[i,j]:4, ); End; Writeln; End; END.
Пример 2 Удалить строку с номером K Алгоритм: Сдвинуть все строки, начиная с данной на одну вверх Последнюю обнулить Вывести количество строк на одну меньше
Writeln ( введите номер удаляемой строки ); Read(k); For i:= k to n-1 do For j:=1 to m do a[i,j]:= a[i+1,j]; For j:=1 to m do a[n,j]:= 0; Writeln(Массив после удаления ); For i:=1 to n-1 do Begin For j:=1 to m do Begin Write (a[i,j]:4, ); End; Writeln; End; END.
Домашнее задание Заменить минимальные элементы каждого столбца двумерного массива A(N, M) вещественных чисел, на их квадраты.