Предмет: Информатика, автор: Тамаренька

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


Аноним: Вы думаете, что пишете? "...написать на бумаге и прислать мне" - по почте, что ли?
Тамаренька: в прикрепленном файле
Аноним: Бумагу в файле? А если фотографию, так причем тут бумага...
Тамаренька: написать на бумаге, сфотографировать, прикрепить файл к ответу (по-моему, так быстрее)
mnv1962: оператор выбора проходили? Case of
mnv1962: Написала при помощи оператора выбора. Так красивее и компактнее

Ответы

Автор ответа: mnv1962
2
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.
                         
                    
                        
Похожие вопросы