Вопрос задан 02.05.2019 в 15:48. Предмет Информатика. Спрашивает Мурадян Сусанна.

Разработать алгоритм и написать программу на языке turbo pascal сформировать одномерный массив из

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Халявина Елизавета.
Uses crt;
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.
                         
                    
                        
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Алгоритм и программа на 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 для формирования и сортировки одномерного массива. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос