Помощь - Поиск - Пользователи - Календарь
Полная версия: задачи Pascal abc
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
настя99
Ребят, очень нужна помощь. Помогите, пожалуйста, составить программы в паскале, нужно подготовится к контрольной.
1)Дан одномерный массив А(N). Отсортировать массив по убыванию. Найти количество элементов массива, значения которых не повторяются.
2)Дан одномерный массив В(N). Найти максимальный элемент одномерного массива и определить его местоположение в массиве.
3)Дан одномерный массив С(N). Удалить элементы одномерного массива, удовлетворяющие условию a<c [ i ] <в; выведите на печать преобразованный массив и число его элементов.
4)В двумерном массиве A(N,M) найдите сумму положительных элементов построчно и запишите полученные значения в массив В.
5) Дана целочисленная квадратная матрица A(N,N). Вычислите произведение эле-ментов матрицы, расположенных под главной диагональю.
6) Определите координаты максимального элемента среди элементов побочной диагонали заданной целочисленной матрицы A(N,N).
Федосеев Павел
Сможете составить из готовых процедур?
Сортировка
настя99
первые 4 да, а вот 5 и 6 я не понимаю как решить, помоги, пожалуйста

Федосеев Павел
5) Дана целочисленная квадратная матрица A(N,N). Вычислите произведение эле-ментов матрицы, расположенных под главной диагональю.
program Matrix;

const
N = 4;
type
TMatrix = array [1..N, 1..N] of integer;

var
A: TMatrix;
i, j: integer;
P: integer;
begin
randomize;
{заполнение матрицы случайными числами
и вывод матрицы на экран}
for i := 1 to N do
begin
for j := 1 to N do
begin
A[i, j] := random(9) + 1;
Write(A[i, j]: 3);
end;
writeln;
end;
{вычисление произведения элементов матрицы,
расположенных выше главной диагонали}
P := 1;
for i := 1 to N do
for j := i + 1 to N do
P := P * A[i, j];
{вывод результата}
writeln('P=', P);
end.


Добавлено через 8 мин.
6) Определите координаты максимального элемента среди элементов побочной диагонали заданной целочисленной матрицы A(N,N).

Т.к. координаты побочной диагонали однозначно определяются одной из координат, например i, то при поиске запоминается только Imax. После завершения цикла вычисляется Jmax:=N-Imax+1
program Matrix;

const
N = 4;
type
TMatrix = array [1..N, 1..N] of integer;

var
A: TMatrix;
i, j: integer;
Imax, Jmax: integer;
begin
randomize;
{заполнение матрицы случайными числами
и вывод матрицы на экран}
for i := 1 to N do
begin
for j := 1 to N do
begin
A[i, j] := random(9) + 1;
Write(A[i, j]: 3);
end;
writeln;
end;
{поиск координат максимального
элемента побочной диагонали}
Imax := 1;
Jmax := N;
for i := 1 to N do
if A[i, N - i + 1] > A[Imax, N - Imax + 1] then
Imax := i;
Jmax := N - Imax + 1;
{вывод результата}
writeln('Imax=', Imax, ' Jmax=', Jmax);
end.
настя99
спасибо большое!!!!))


Добавлено через 1 мин.
можно еще вопрос по 3 задачи? какую процедуру нужно, чтобы удалить элемент из массива?

Федосеев Павел
Готовой нет. Нужно циклом for сдвигать элементы на меньшие позиции.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.