1.Написать программу, которая проверяет, образуют ли элементы введенного с клавиатуры массива неубывающую последовательность.
2.Вставить число А перед всеми элементами, большими А, а число В - после всех элементов, меньших его.
3.Дана матрица Ф(6х7), заполненный случайным образом. Заменить максимальный элемент каждой строки на противоположный по знаку.
4. Дан двумерный массив. Найти сумму элементов его главной диагонали и поизведение элементов побочной диагонали. Результат занести в одномерный массив.
Пожалуйста, помогите, очень нужно! Хотя бы некоторые решите. Второй день не могу сделать! Тема одномерных и двумерных массивов.

1

Ответы и объяснения

2014-03-16T13:02:34+00:00
                                           НАПИСАНО НА ПАСКАЛЕ!
2)


program fofgogjoj;
const nmax=100;
var
m:array[1..nmax] of integer;    
n,i,j,k:byte;    
a,b,x:integer;
begin
randomize;
repeat Write('Размер массива до ',nmax div 3,' n=');
readln(n);
until n in [1..nmax div 3];
Writeln('Исходный массив:');
for i:=1 to n do  
begin
m[i]:=random(50);  
Write(m[i],' ');  
end;
Writeln;
Writeln;
Write('Введите число для вставки перед a=');
Readln(a);
i:=1;
k:=0;
while i<=n do  
begin
if m[i]>a then    
begin    
n:=n+1;    
k:=1;    
for j:=n downto i+1 do    
m[j]:=m[j-1];    
m[i]:=a;    
i:=i+2;    end  
else i:=i+1;  
end;
if k=0 then
Writeln('Элементов больше ',a,' нет')
else  
begin  
Writeln('Массив после вставки числа ',a,' перед большими ',a);  
for i:=1 to n do  
Write(m[i],' ');  
Writeln;  
Writeln;  
Write('Введите число для вставки после b=');  
Readln(b);  
i:=1;k:=0;  
while i<=n do  
if m[i]<b then    
begin    
n:=n+1;    
k:=1;    
for j:=n downto i+2 do    
m[j]:=m[j-1];    
m[i+1]:=b;    
i:=i+2;    end  
else
i:=i+1;  
if k=0 then
Writeln('Элементов меньше ',b,' нет')  
else    
begin    
Writeln('Массив после вставки числа ',b,' после меньших ',b);    
for i:=1 to n do    
Write(m[i],' ');    
end;  
end;
readln
end.