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

0 голосов
71 просмотров

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


Информатика (25 баллов) | 71 просмотров
0

Вы думаете, что пишете? "...написать на бумаге и прислать мне" - по почте, что ли?

0

в прикрепленном файле

0

Бумагу в файле? А если фотографию, так причем тут бумага...

0

написать на бумаге, сфотографировать, прикрепить файл к ответу (по-моему, так быстрее)

0

оператор выбора проходили? Case of

0

Написала при помощи оператора выбора. Так красивее и компактнее

Дан 1 ответ
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]             begin
                   buf:=b[i];
                   b[i]:=b[j];
                   b[j]:=buf;
             end;
{вывод массива}
for i:=1 to k do
    write(b[i]:4);
end.
                         
                    
                        

(9.6k баллов)