
Разработать алгоритм и написать программу на языке turbo pascal сформировать одномерный массив из
элементов массива двумерного по указанному правилу и упорядочить элементы созданного массива в соответствие с вариантом. числа M и N вводятся с клавиатуры. для задания исходной матрицы предусмотреть два варианта: ввод с клавиатуры и ввод с помощью датчиков случайных чисел. возможность выбора пользователем варианта ввода матрицы должна быть предусмотрена в тексте программы. сформировать массив B из: элементов четных строк удовлетворяющих условию: a¡j>2. отсортировать массив по убыванию это можно написать на бумаге и прислать мне

Ответы на вопрос

const
q=1000;var
a:array[1..q,1..q]of integer;
m,n,i,j,c,k,buf:integer;
b:array[1..q]of integer;
begin
writeln('n,m ?') ;
readln(n,m);
writeln('как заполнять матрицу ?');
writeln(' Нажмите 1 при помощи датчика, 2 - ввод с клавиатуры');
{выбор действия при заполнении}
readln(c);
case c of
1:for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
2:
begin
for i:=1 to n do
begin
for j:=1 to m do
readln(a[i,j]);
end;
clrscr;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end;
end;
writeln('формирование массива');
for i:=2 to n do
begin
if i mod 2=0 then
for j:=1 to m do
if a[i,j]>2 then
begin
k:=k+1;
b[k]:=a[i,j];
end;
end;
writeln;
for i:=1 to k do
write(b[i]:4);
writeln;
{сортировка}
for i:=1 to k -1 do
for j:=i+1 to k do
if b[i]<b[j]then
begin
buf:=b[i];
b[i]:=b[j];
b[j]:=buf;
end;
{вывод массива}
for i:=1 to k do
write(b[i]:4);
end.



Алгоритм и программа на Turbo Pascal для формирования и сортировки одномерного массива
Для решения данной задачи на языке Turbo Pascal, мы можем использовать следующий алгоритм:
1. Запросить у пользователя значения переменных M и N с клавиатуры. 2. Создать двумерный массив A размером MxN и заполнить его значениями. - Вариант 1: Ввод с клавиатуры: - Используя циклы, запросить у пользователя каждый элемент массива A и сохранить его в соответствующей ячейке. - Вариант 2: Ввод с помощью датчиков случайных чисел: - Используя циклы, сгенерировать случайное число и сохранить его в каждой ячейке массива A. 3. Создать одномерный массив B. 4. Заполнить массив B элементами из четных строк массива A, удовлетворяющими условию a[i,j] > 2. - Используя циклы, пройтись по каждой четной строке массива A и проверить условие a[i,j] > 2. - Если условие выполняется, добавить элемент в массив B. 5. Отсортировать массив B по убыванию. - Использовать алгоритм сортировки, например, сортировку пузырьком или сортировку вставками. 6. Вывести отсортированный массив B на экран.
Ниже представлена программа на языке Turbo Pascal, реализующая описанный алгоритм:
```pascal program SortArray;
const M = 3; // Значение M задается пользователем N = 3; // Значение N задается пользователем
type TwoDimensionalArray = array[1..M, 1..N] of integer; OneDimensionalArray = array[1..M * N] of integer;
var A: TwoDimensionalArray; B: OneDimensionalArray; i, j, k: integer; temp: integer;
procedure Sort(var arr: OneDimensionalArray; size: integer); var i, j: integer; begin for i := 1 to size - 1 do begin for j := 1 to size - i do begin if arr[j] < arr[j + 1] then begin temp := arr[j]; arr[j] := arr[j + 1]; arr[j + 1] := temp; end; end; end; end;
begin // Ввод значений массива A for i := 1 to M do begin for j := 1 to N do begin writeln('Введите значение элемента A[', i, ',', j, ']: '); readln(A[i, j]); end; end;
// Формирование массива B k := 1; for i := 1 to M do begin if i mod 2 = 0 then begin for j := 1 to N do begin if A[i, j] > 2 then begin B[k] := A[i, j]; k := k + 1; end; end; end; end;
// Сортировка массива B Sort(B, k - 1);
// Вывод отсортированного массива B writeln('Отсортированный массив B:'); for i := 1 to k - 1 do begin writeln(B[i]); end;
readln; end. ```
Примечание: В программе предполагается, что пользователь вводит значения переменных M и N с клавиатуры. Вы можете изменить программу, чтобы значения M и N вводились автоматически или из других источников данных, если это необходимо.
Надеюсь, это поможет вам разработать алгоритм и написать программу на языке Turbo Pascal для формирования и сортировки одномерного массива. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili