Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Тiзбектерге және матрицаларға арналған есептердi шығару

Автор:   •  Ноябрь 23, 2021  •  Лабораторная работа  •  1,437 Слов (6 Страниц)  •  345 Просмотры

Страница 1 из 6

№ 8 Зертханалық жұмыс

Тақырыбы:  Тiзбектерге және матрицаларға арналған есептердi  

                        шығару. Iздеу

Жұмыс мақсаты : Білімгерлерді көп өлшемді массивтермен жұмыс істеудің әртүрлі алгоритмдерін пайдаланып, Си тілінде программалар жазуға үйрету. Іздеуді толық меңгеріп, кез-келген берілген есепті шығару.

Қысқаша теориялық бөлім

Көп өлшемді массив

        Көп өлшемді массив келесі үлгі бойынша сипатталады. Массив атының типі[1-өлшем][2-өлшем]…[n-өлшем];

Екі өлшемді массивтер І

Мысалы   а[3][4].       ЭВМ   зердесінде   2   өлшемді   массив   жол бойынша сақталады. ?

Массивке мән беру

Си тілінде массивке мән берудің арнайы мүмкіндігі бар.  Ең қарапайым   түрі   массивті   сипаттау   кезінде   мәндерді   фигуралық жақшалар ішінде жазу. Мысалы: Float ff[4]={7.9,8,9,5.7,7,0}

Мән берудің басқа түрі — меншіктеу операторлары түрінде жазу. Мысалы, a[0]=5; а[1]=7; а[3]=8;

Көп өлшемді массивтер үшін оларды массив ішіндегі массив түрінде жазуға болады. Мысалы: Inta[3][2]= {1,7,9,7,8,5} Немесе Inta[3][2]={{!,7},{9,7},{8,5}}

Массивті сипаттау және оған мән беру кезінде өлшемді дәл көрсету міндетті емес. Мысалы, Int a []={1,8,0,5,8,6}

Көп өлшемді массивке мәндер беру кезінде өлшемді тек ең сол жақтағы жақшада ғана көрсетпеуге болады. Мысалы,

Inta[][3]={6,8,9,5,0,9,7,6,8}

        Мыс:

        A(3,4) матрицасын B(4,2) матрицасына көбейту ;

                                # include <stdio.h>

                                main()

                                { int  a[3][4]={{5,2,-4,13},{4,9,0.6},{7,-1,83}};

                                int  b[4][2]={{23,-6},{92,-53},{12,3}};

                           int  c[3][2],i,j,k;

                        for (i=0;i<3;i++)

                                  { for (j=0;j<2;j++)

                                { c[i][j]=0;

                                for (k=0;k<4;k++)

                                c[i][j]=a[i][k]*b[k][j]:}}

                                for (i=0;i<3;i++)

                                for (j=0;j<2;j++)

                                { printf(«c[%d][%d]=[%d]», i,j,c[i][j]);

                                printf(«\n»); }}

        Бір варианттың орындалуы

№ 1 Тапсырма        

  n- ретті квадрат матрицасын алу;

  1. 0  0  0  0     n        
  1. 2  0  0  n-1  0

0  0…….. 0     0

………………..

0  0……..0      0

0  2  0  0  n-1   0

1  0  0  0   0     n

Шешімі:

# include <stdio.h>

main()

{ const int  n=9;

int  i,j, a[n][n];

for(i=0;i<n;i++)

for(j=0;j<n;j++)

a[i][j]=0;

for(i=0;i<n;i++)

{ a[i][j]=i+1;a[i][n-1-i]=n;}

for(i=0;i<n;i++)

for(j=0;i<n;j++)

printf(“%2”, a[i][j]);

printf(“\n”);}

return 0;}

Нәтиже: 1 0 0 0 0 0 0 0 9

             0 2 0 0 0 0 0 8 0

                 0 0 3 0 0 0 7 0 0

            0 0 0 4 0 6 0 0 0

            0 0 0 0 5 0 0 0 0

            0 0 0 4 0 6 0 0 0

            0 0 3 0 0 0 7 0 0

           0 2 0 0 0 0 0 8 0

   0 0 0 0 0 0 0 0 9

№ 2 Тапсырма        

Массивтің  ең үлкен элементін іздеу.

Шешімі:

#include<stdio.h>

#include<conio.h>

void main()

{ const int  n=3;

 int  i,j ;

 int a[3][3];

int max;

clrscr();

printf("Engiz:");

for(i=0;i<n;i++)

for(j=0;j<n;j++)

scanf("%d",&a[i][j]);

for(i=0;i<n;i++)

for(j=0;j<n;j++)

printf("a[%d][%d]=%d\n",i,j,a[i][j]);

max=a[1][1];

for(i=0;i<n;i++)

for(j=0;j<n;j++)

if(a[i][j]>max)

  max=a[i][j];

for(i=0;i<n;i++)

{ for(j=0;j<n;j++)

  printf("%d\t",a[i][j]);

  printf("\n");

  }

printf("max=%2d", max);

printf("\n");

 getch();

}

Нәтижесі

         

ТАПСЫРМАЛАР

Тап.

Вар.

Матрица аты
және өлшемі

Орындалу керек әрекет

Шарты және шектері

1

А(10,15)

Матрицаның әрбір баған элементтерінің қосьшдысын және оң элементтер санын есте сақтау және есептеу. Нәтижелерді екі қатар етіп шығару керек.

Хі>0

2

А(N,М)

Матрицаның әрбір қатарының элементтерінің қосындысын және санын есептеу.
Нәтижелерді екі баран етіп шығару керек.

N=20
М<15

3

В(М,М)

Матрицаның басты диагоналінде және оның астында орналасқан элемент-терінің қосындысын және санын есептеу

          M=12

4

С(Н,М)

Матрица элементтерінің басты диагоналінің үстінде орналасқан оң элементтердің санын және олардың өзара қосындысын есептеу

сц>0
N=12

5

D(К,К)

Матрицаның теріс элементтерінің орнына нолдерді қойып жазу және оны баспаға шығару

К<10

6

A(10,10)

В матрицасының теріс элементтерінің орнына 0-дерді ал, оң элементтерінің орнына 1-лерді қойып баспара шыгару.

A-кез-келген сан

?

Р(N,М)

Матрицаның әрбір қатаръшың ең үлкен, ең кіші элементтерін тауып, оларды сәйкесінше қатардың бастапқы және соңғы элементтерінің орнына қою.

N=20
М<10

8

Р(10,8)

Берілген матрицаны транспонирлеп, баспаға басты диагональ элементтерін және басты диагональ стында орналасқан элементтерді шыгару. Нәтижелерді екі қатармен шыгару

Di-кез-келген сан

9

N(10,10)

Бүтінсанды матрица үшін өрбір қатар
элементтерінің 5-ке қысқаратынын табу және алынган нәтижелердің ең үлкенін табу.

(Пі/5)-5 = Піі 

10

N(10,10)

N матрицасының оң элемент-нен М
матрицасын құру. Теріс элем/дің орнына 0-дерді жазу. Екі матрицаны да жазып шығу.

Ni-кез-келген сан

11

Р(М,M)

Әрбір қатардан ең үлкен элементтердің
орнына басты диагональ элементтерін қою  және баспара шыгару.

M<15

12

К(К,М)

Матрицаның ең үлкен және ең кіші
элементтерін тауып, олардың орнын
ауыстыру.

К<20

М<10

13

S(25,8)

Бастапқы берілгендерді алгашқы 24 қатарға және алғашқы 7 бағанға енгізу. Әрбір қатардың геометриялық ортасын тауып, оларды 8-ші баганра, ал әрбір қатардың арифметикалық ортасын 25-қатарға жазу және баспара шырару.

S-кез-келген сан

14

H(М,М)

Элементтер саны ең үлкен және ең кіші
болатын қатарды табу. Баспага табылған қатарлар мен олардың элементтерінің қосындысын шыгару.

M<20
М<15

15

Ү(15,10)

Матрицаның әрбір қатар элементтерін өспелі түрде реттеп жазу және баспаға шығару.

Уі-кез-келген сан

...

Скачать:   txt (10 Kb)   pdf (142.2 Kb)   docx (15 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club