Создание программы, использующей алгоритм для отработки данных, хранящихся в двумерных массивах (Поиск индексов элементов, имеющих наибольшее значение)

Страницы работы

Содержание работы

Министерство образования Российской Федерации

Уральский государственный технический университет – УПИ

филиал в г. Краснотурьинске

кафедра вычислительной техники

ОТЧЕТ

по лабораторной работе № 6

по теме: «Работа с двумерным массивом»

преподаватель:                                                                                   Мезенцева О.В.

студент:                                                                                               Бурлов А.С.

группа:                                                                                                 Р-131КТ

2003

Цель работы: создание программы по известному алгоритму, обработка данных хранящихся в двумерном массиве.

1. Задание:

а) дан массив a[n,n]. Вычислить сумму элементов на побочной диагонали, выше побочной диагонали и ниже побочной диагонали.

б) дана матрица a[n,n]. Найти индексы всех элементов, имеющих наибольшее значение.

2. Блок-схема:

а)

б)

3. Программа:

а)   program summa;

      uses crt;

      type massiv=array[1..100,1..100] of integer;

      var i,j,n,s1,s2,s3:integer;

            a:massiv;

      begin clrscr;

      writeln('введите n');

      readln(n);

      randomize;

      for i:=1 to n do

      for j:=1 to n do begin

      a[i,j]:=random(10);

      end;

      s1:=0; s2:=0; s3:=0;

      for i:=1 to n do

      s1:=s1+a[i,n-i+1];

      for i:=1 to n-1 do

      for j:=1 to n-i do begin

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

      end;

      for i:=2 to n do

      for j:=n-i+2 to n do begin

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

      end;

      writeln('исходный массив');

      for i:=1 to n do begin

      for j:=1 to n do

      write(a[i,j],' ');

      writeln;

      end;

      writeln('сумма элементов на побочной диагонали = ',s1);

      writeln('сумма элементов выше побочной диагонали = ',s2);

      writeln('сумма элементов ниже побочной диагонали = ',s3);

      readln;

      end.

б)   program var_10;

      uses crt;

      type massiv=array[1..100,1..100] of integer;

      var a:massiv;

            max,n,i,j:integer;

      begin clrscr;

      writeln('введите размер матрицы');

      readln(n);

      randomize;

      for i:=1 to n do

      for j:=1 to n do begin

      a[i,j]:=random(10);

      end;

      writeln('исходный массив');

      for i:=1 to n do begin

      for j:=1 to n do

      write(a[i,j],' ');

      writeln;

      end;

      max:=a[1,1];

      for i:=1 to n do

      for j:=1 to n do begin

      if a[i,j]>max then

      max:=a[i,j];

      end;

      for i:=1 to n do

      for j:=1 to n do begin

      if a[i,j]=max then

      writeln('a[',i,',',j,']=',a[i,j]);

      end;

      readln;

      end.

4. Результат:

а) исходная матрица a[n,n]

         4  5  9

         1  3  8

         2  7  6

    сумма элементов на побочной диагонали = 14

    сумма элементов выше побочной диагонали = 10

    сумма элементов ниже побочной диагонали = 21

б) исходная матрица a[n,n]

        

    a[1,2]=9

    a[2,3]=9

    a[3,1]=9

Вывод: научились создавать программы по известному алгоритму, обрабатывать данные, хранящиеся в двумерном массиве.

Похожие материалы

Информация о работе