|
Begin
//установить индикатор
f:=true;
//вывести номер строки
writeln(i);
//и прервать цикл
break;
end;
//Если индикатор не установлен - чисел нет
if f=false
then writeln('Net podhodyashih chisel');
//Пауза
readkey;
end.
8. Ввести квадратную матрицу порядка n. Вычислить произведение элементов, расположенных на главной диагонали. Сформировать одномерный массив из элементов исходной матрицы, расположенных ниже главной диагонали и больших произведения ее элементов. Вывести полученный массив или сообщение об отсутствии таких элементов.
program t8;
uses crt;
Var
n,i,j: byte; //размерность матрицы, переменные цикла
a: array [1..100,1..100] of byte; //матрица
prod: integer; //произведение элементов
a2: array [1..100] of byte; //одномерный массив
a2_pos: byte; //длина одномерного массива
Begin
//Ввод значения
writeln('n=');
readln(n);
//Ввод матрицы
for i:=1 to n do
for j:=1 to n do
Begin
write('a[',i,',',j,']');
readln(a[i,j]);
end;
//Вычисление произведения элементов главной диагонали
prod:=1;
for i:=1 to n do
prod:=prod*a[i,i];
//Извлечение из матрицы чисел ниже главной диагонали и больших произведения главной диагонали
a2_pos:=0;
for i:=1 to n do
for j:=1 to n do
//Если условия выполняются -
If(i>j) and(a[i,j]>prod) then
Begin
//увеличить длину массива
inc(a2_pos);
//добавить в одномерный массив текущий элемент матрицы
a2[a2_pos]:=a[i,j];
end;
//Если длина одномерного массива ненулевая - вывесли его элементы
Ifa2_pos>0 then
for i:=1 to a2_pos do
write(a2[i],' ')
//Иначе - массив пуст
else writeln('Net podhodyashih elementov');
//Пауза
readkey;
end.
9. Дан одномерный целочисленный массив размерностью N. Сформировать новый массив из элементов исходного, расположенных до первого отрицательного элемента и большего первого элемента исходного массива. Если такие элементы отсутствуют, то выдать об этом сообщение.
program t9;
uses crt;
Var
n,i,a2_pos: byte; //размерность первого массива, переменная цикла, длина второго массива
a1,a2: array [1..100] of integer; //массивы
Begin
//Переопределить генератор случайных чисел
randomize;
//Ввод размерности первого массива
write('n=');
readln(n);
//Заполнение массива случайными числами (-20..80) вместе с выводом на экран
for i:=1 to n do
Begin
a1[i]:=random(100)-20;
write(a1[i],' ');
end;
writeln;
//Поиск элементов, больших первого элемента массива, до первого отрицательного числа. Добавление во второй массив.
a2_pos:=0;
for i:=1 to n do
Ifa1[i]>0 then
Begin
Ifa1[i]>a1[1] then
Begin
inc(a2_pos);
a2[a2_pos]:=a1[i];
end;
End
//Если элемент отрицательный - прекратить поиск
else break;
//Вывод сформированного массива
Ifa2_pos>0 then
for i:=1 to a2_pos do
write(a2[i],' ')
//Или сообщение о том, что элементов нет
else writeln('Net podhodyashih elementov');
//Пауза
readkey;
end.
Дата добавления: 2015-08-03; просмотров: 53 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Whilex>0 do | | | СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ИНФОРМАЦИИ |