шаблоны сайт визитка joomla
Скачать шаблоны Joomla 3.5 бесплатно
Вы находитесь здесь:Главная»Учебные материалы»Pascal»Pascal. Типовые задачи на двумерные массивы

Pascal. Типовые задачи на двумерные массивы

Двумерные массивы (матрицы)

1. Сформировать с помощью датчика случайных чисел и вывести на экран матрицу, размером МхN. Элементы задаются на интервале [-20, 25].

Var a: array[1..50,1..50] of integer;

      i, j, n, m: integer;

Begin

Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

   begin

       For j:=1 to n do

          begin

               a[i,j]:=int(rnd*46)-20;      

                write(a[i,j],’ ‘);

          end;

      writeln;

   end;

End.

2. В двумерном массиве, состоящем из n целых чисел, найти сумму элементов в каждой строке. Размер произвольный.

Program summastrok;

Var a: array[1..50,1..50] of integer;

      i, j, n, m,S: integer;

Begin

Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

  For j:=1 to n do

       begin      

             write(‘a[‘,i,’,’,j,’)=’);     readln (a[i,j]);      

      end;

For i:=1 to m do

  begin

     S:=0;

     For j:=1 to n do

       S:=S+a[i,j];

     Writeln(‘сумма элементов в ‘,i,’ строке равна  ‘,S);

  end;

End.

3. Найти наименьший элемент двумерного массива. Размер MXN. Элементы задаются на интервале [-30, 45].

Program minim;

Var a: array[1..50,1..50] of integer;

      i, j, n, m, min: integer;

Begin

Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

   begin

       For j:=1 to n do

          begin

               a[i,j]:=int(rnd*76)-30;  write(a[i,j],’ ‘);

          end;

      writeln;

   end;

min:=a[1,1];

  For i:=1 to m do

  For j:=1 to n do

     if a[i,j]< min then min:=a[i,j];

  Writeln(‘наименьшее число   ‘,min);

End.

4. В двумерном  массиве, состоящем из целых чисел, найти наименьший элемент и номер строки, в которой он находится. Элементы вводятся с клавиатуры. Размер MXN.

Program minim;

Var a: array[1..50,1..50] of integer;

      i, j, m, n, min, K: integer;         

Begin

 Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

For j:=1 to n do

       begin       write(‘a[‘,i,’,’,j,’]=’);  readln (a[i,j]);  end;

min:=a[1,1]; K:=1;

  For i:=1 to m do

  For j:=1 to n do

     If a[i,j]< min then

        begin

           min:=a[i,j];    K:=i;

         end;  

  Writeln(‘наименьшее число   ‘,min,’  находится в ‘, k , ‘ строке’);

End.

5. Найти сумму элементов в каждой строке двумерного массива, состоящего из целых чисел. Размер MXN. Элементы задаются на интервале [-19, 30].

program sumstr;

Var a: array[1..50,1..50] of integer;

      i, j, n, m,sum: integer;

Begin

Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

   begin

       For j:=1 to n do

          begin

               a[i,j]:=int(rnd*50)-19;  write(a[i,j],’ ‘);

          end;

      writeln;

   end;

   for i:=1 to m do

     begin

       sum:=0;

       for j:=1 to n do sum:=sum+a[i,j];

       writeln('сумма элементов в ',i,' строке: ',sum);

     end;

end.

6. Подсчитать количество положительных элементов в каждой строке матрицы размером МхN, элементы которой вводятся с клавиатуры.

program kolpolvstr;

Var a: array[1..50,1..50] of integer;

      i, j, m, n, kol: integer;         

Begin

 Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

  begin  

    For j:=1 to n do

       begin       write(‘a[‘,i,’,’,j,’]=’);  readln (a[i,j]);  end;

    for i:=1 to m do

       begin

         kol:=0;

         for j:=1 to n do if a[i,j]>0 then kol:=kol+1;

         writeln('количество положительных элементов в ',i,' строке: ',kol);

        end;

     writeln;

   end;

end.

7. Сформировать матрицу типа        1 0 0 0

                                                                 0 1 0 0

                                                                 0 0 1 0

                                                                 0 0 0 1

program formir;

Var a: array[1..50,1..50] of integer;

      i, j, m, n: integer;         

Begin

 Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

  begin  

    For j:=1 to n do

      begin

         if i=j then a[i,j]:=1 else a[i,j]:=0;

         write(a[i,j]);

      end;

    writeln;

End.

8. Найти номер столбца массива размером МхN, в котором находится наибольшее количество отрицательных элементов. Элементы вводятся с клавиатуры.

program nomerstolb;

Var a: array[1..50,1..50] of integer;

       b: array[1..50] of integer;

      i, j, m, n, max, jmax: integer;         

Begin

 Write(‘сколько строк?’); Readln(m);

 Write(‘сколько столбцов?’); Readln(n);

 For i:=1 to m do

  begin  

    For j:=1 to n do

       begin      

              write(‘a[‘,i,’,’,j,’]=’);  readln (a[i,j]);  

       end;

    for j:=1 to m do

       begin

         b[j]:=0;

         for i:=1 to n do

              if a[i,j]<0 then b[j]:=b[j]+1;

       end;

  max:=b[1]; jmax:=1;

  For j:=2 to n do

    begin

      if b[j]>max then

            begin

              max:=b[j]; jmax:=j;

            end;

     end;

  writeln(‘Наибольшее количество отрицательных элементов в ‘;jmax ; ‘столбце’);

   end;

end.

9. Упорядочить каждый столбец матрицы по возрастанию. Массив размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-17;26].

program porydok;

Var a: array[1..50,1..50] of integer;

      i, j, n, m,t,r: integer;

Begin

Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

   begin

       For j:=1 to n do

          begin

               a[i,j]:=int(rnd*44)-17;      

                write(a[i,j],’ ‘);

          end;

      Writeln;

   end;

For j:=1 to n do

  For r:=1 to m do

    For i:=1 to m-1 do

         if a[i,j]> a[i+1,j] then

            begin

                 t:= a[i,j];

                 a[i,j]:= a[i+1,j];

                 a[i+1,j]:= t;

            end;

For i:=1 to m do

  begin  

    For j:=1 to n do write(a[i,j],’ ‘);

    Writln;

 end;

End.

10. Сформировать матрицу   1 1 1 1

                                                     2 2 2 2

                                                     3 3 3 3

program former;

Var a: array[1..3,1..4] of integer;

      i, j: integer;

Begin

For i:=1 to 3 do

  begin  

    For j:=1 to 4 do

          begin

             a[i,j]:=i; write(a[i,j]);

        end;

    writln;

 end;

End.

11. Найти наибольшее нечетное число в матрице размером МхN, элементы которой задаются датчиком случайных чисел на интервале [-27, 38].

program maxnechet;

Var a: array[1..50,1..50] of integer;

       b: array[1..50] of integer;

      i, j, n, m, p, max, k: integer;

Begin

Write(‘сколько строк?’); Readln(m);

Write(‘сколько столбцов?’); Readln(n);

For i:=1 to m do

   begin

       For j:=1 to n do

          begin

                   a[i,j]:=int(rnd*66)-27;  

                   write(a[i,j],’ ‘);

          end;

       writeln;

   end;

kol:=0; p:=0;

For i:=1 to m do

     For j:=1 to n do

          If a[i;j]mod 2 <> 0 then

               begin

                   p:=p+1; b[p]:=a[i,j]; k:=k+1:

                end;

if k=0 then writeln(‘нечетных элементов нет’) else

                                      begin

                                                write(‘нечетные элементы:’);

                                                max:=b[1];

                                                for p:=1 to k do

                                                       begin

                                                            writ(b[p],’ ‘);

                                                             if b[p]>max then max:=b[p];

                                                       end;

                                                 writeln(‘наибольшее нечетное число’, max);

                                        end;    

Задачи для самостоятельной работы

Подсчитать количество положительных элементов в каждом столбце матрицы размером МхN, элементы которой вводятся с клавиатуры.

Подсчитать количество отрицательных элементов в каждой строке матрицы размером МхN, элементы которой задаются с помощью датчика случайных чисел на интервале [-35; 65].

Подсчитать количество четных элементов в каждом столбце матрицы размером МхN, элементы которой задаются с помощью датчика случайных чисел на интервале [-98; 54].

Подсчитать количество четных отрицательных элементов в матрице размером МхN, элементы которой вводятся с клавиатуры.

Сформировать матрицу        1 1 1 1

                                                2 2 2 2

                                                3 3 3 3

                                                4 4 4 4

Сформировать матрицу        1 2 3 4

                                                1 2 3 4

                                                1 2 3 4

                                                1 2 3 4

Сформировать матрицу        0 0 0  1

                                                0 0 1 0

                                                0 1 0 0

                                                1 0 0 0

Найти номер наибольшего элемента массива размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-67;23].

Найти номер наибольшего элемента массива размером МхN, элементы которого вводятся с клавиатуры.

Найти наибольший элемент массива размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-25;19].

Найти наименьший элемент массива размером МхN, элементы которого вводятся с клавиатуры.

Найти сумму элементов в каждом столбце массива размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-19;20].

Найти произведение элементов в каждом столбце массива размером МхN, элементы которого вводятся с клавиатуры.

Найти произведение элементов в каждой строке массива размером МхN, элементы которого вводятся с клавиатуры.

Найти произведение диагональных элементов массива размером МхN, элементы которого вводятся с клавиатуры.

Найти сумму элементов, стоящих на побочной диагонали массива размером МхN, элементы которого вводятся с клавиатуры.

Найти номер столбца массива размером МхN, в котором находится наименьшее количество положительных элементов. Элементы вводятся с клавиатуры.

Найти номер строки массива размером МхN, в котором находится наименьшее количество положительных элементов. Элементы вводятся с клавиатуры.

Найти номер строки массива размером МхN, в котором находится наибольшее количество четных элементов. Элементы задаются датчиком случайных чисел на интервале [-54;61].

Найти номер столбца массива размером МхN, в котором находится наибольшее количество элементов, кратных 5. Элементы задаются датчиком случайных чисел на интервале [-27;43].

Найти наименьшее четное число в матрице размером МхN, элементы которой задаются датчиком случайных чисел на интервале [-65, 45].

Найти наибольшее число, кратное 3, в матрице размером МхN, элементы которой вводятся с клавиатуры.

Похожие материалы (по тегу)

Другие материалы в этой категории: Pascal. Циклы »

Новости о нас

О том, как проходят наши занятия по робототехнике в новом учебном году - смотрите на фото!  Подробнее
  Преподаватели ВУЗов Китая посетили наш технопарк Толтек СФ БашГУ! Подробнее
Расписание занятий для каждой сформированной группы по робототехнике на 2017-2018 учебный год. Подробнее
Учебный год начался, и у нас очередная радостная новость для вас, педагоги! В этом году... Подробнее
Наши учащиеся выступили на августовской конференции педагогов! Подробнее

Наши партнеры

 TZOyoOCZ8y0 logotip novy SF BashGU  utv logo  CityMoll  VolnoeDelo